Complete Rust Development
A comprehensive Rust development skill that combines error handling, testing, and logging patterns through composition.
This skill demonstrates the includes feature:
- Error handling rules from
rust-error-handlingare merged into Rules - Testing checklist from
testing-patternsis merged into Checklist - Logging rules from
logging-patternsare merged into Rules with a prefix
Rules
- Follow Rust idioms and conventions
- Use
clippyfor linting:cargo clippy -- -D warnings - Format code with
rustfmt:cargo fmt - Keep unsafe blocks minimal and well-documented
Examples
rust// Idiomatic Rust with proper error handling, logging, and tests use anyhow::{Context, Result}; use tracing::{info, instrument}; #[instrument] pub fn process_data(input: &str) -> Result<Output> { info!("processing data"); let parsed = parse_input(input) .context("failed to parse input")?; let result = transform(parsed) .context("transformation failed")?; info!(output_size = result.len(), "processing complete"); Ok(result) } #[cfg(test)] mod tests { use super::*; #[test] fn test_process_data_happy_path() { let input = "valid input"; let result = process_data(input); assert!(result.is_ok()); } #[test] fn test_process_data_invalid_input() { let input = ""; let result = process_data(input); assert!(result.is_err()); } }
Checklist
- Code passes
cargo clippy -- -D warnings - Code is formatted with
cargo fmt - No
unsafeblocks (or they are justified and documented) - Dependencies are minimal and audited

