Spec Sistemas Com Rust • Trilha Progressiva em 4 Níveis


🎯 Nível 1: Fundamentos

Problema 01.1 — Função main() e Macro println! com Formatação

Contexto: Função main() e Macro println! com Formatação no contexto de Introdução ao Rust, Toolchain Rustup e Cargo.

Requisitos de Execução:

  1. Escrever programa em Rust formatando saídas com posicionais e parâmetros nomeados.

Resultado Esperado

Executável compilado via rustc/cargo imprimindo saídas formatadas.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_01_1_SeuNome
  2. Envie na tarefa: Atividade Cap 01 - Introdução ao Rust, Toolchain Rustup e Cargo
🔑 Gabarito de Código & Solução Comentada
// main.rs
fn main() {
    let versao = "1.80.0";
    let status = "Estavel";
    println!("Toolchain Rust: {} ({})", versao, status);
    println!("Memoria segura sem Garbage Collector garantida!");
}

🔍 Nível 2: Prática

Problema 01.2 — Manifesto de Projeto Cargo.toml e Compilação com cargo build –release

Contexto: Manifesto de Projeto Cargo.toml e Compilação com cargo build –release no contexto de Introdução ao Rust, Toolchain Rustup e Cargo.

Requisitos de Execução:

  1. Configurar manifesto Cargo.toml com metadados de pacote, flags de otimização LTO e perfil de release.

Resultado Esperado

Manifesto Cargo configurado para compilação com Link-Time Optimization.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_01_2_SeuNome
  2. Envie na tarefa: Atividade Cap 01 - Introdução ao Rust, Toolchain Rustup e Cargo
🔑 Gabarito de Código & Solução Comentada
# Cargo.toml
[package]
name = "engine_rust"
version = "0.1.0"
edition = "2021"

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort" 

⚡ Nível 3: Integração

Problema 01.3 — Linter Oficial Clippy e Verificação com cargo clippy – -D warnings

Contexto: Linter Oficial Clippy e Verificação com cargo clippy – -D warnings no contexto de Introdução ao Rust, Toolchain Rustup e Cargo.

Requisitos de Execução:

  1. Escrever código idiomático sem construções desencorajadas e homologar no Clippy.

Resultado Esperado

Código validado com 0 avisos pelo Cargo Clippy.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_01_3_SeuNome
  2. Envie na tarefa: Atividade Cap 01 - Introdução ao Rust, Toolchain Rustup e Cargo
🔑 Gabarito de Código & Solução Comentada
// clippy_clean.rs
fn main() {
    let mut contador = 0;
    for i in 0..5 {
        contador += i;
    }
    println!("Soma: {}", contador);
}

🏆 Nível 4: Desafio Corporativo

Problema 01.4 — Configuração de Workspace Cargo com Múltiplas Crates

Contexto: Configuração de Workspace Cargo com Múltiplas Crates no contexto de Introdução ao Rust, Toolchain Rustup e Cargo.

Requisitos de Execução:

  1. Criar Cargo.toml raiz estruturando workspace com crates core_engine e cli_app.

Resultado Esperado

Workspace Cargo modular configurado com dependências compartilhadas.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_01_4_SeuNome
  2. Envie na tarefa: Atividade Cap 01 - Introdução ao Rust, Toolchain Rustup e Cargo
🔑 Gabarito de Código & Solução Comentada
# Workspace Cargo.toml
[workspace]
members = [
    "crates/core_engine",
    "crates/cli_app",
]
resolver = "2"