🧩 Exercícios: Introdução ao Rust, Toolchain Rustup e Cargo
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:
- 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)
- Salve o arquivo como:
Atividade_01_1_SeuNome - 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:
- Configurar manifesto
Cargo.tomlcom 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)
- Salve o arquivo como:
Atividade_01_2_SeuNome - 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:
- 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)
- Salve o arquivo como:
Atividade_01_3_SeuNome - 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:
- Criar
Cargo.tomlraiz estruturando workspace com cratescore_engineecli_app.
Resultado Esperado
Workspace Cargo modular configurado com dependências compartilhadas.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_01_4_SeuNome - 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"