Development Tools
Tools that provide developer-facing features such as testing, debugging, linting, performance profiling, autocompletion, formatting, and more.
Topic | Rust Crates |
---|---|
Build System/Package Manager | cargo ⮳ |
Formatter | rustfmt ⮳ |
Linter | clippy ⮳ |
Testing Framework | std::test (built-in), rstest ⮳ (for data-driven tests) |
Debugging | gdb ⮳, lldb ⮳ (often used via IDE integration), cargo-debug |
Profiling | cargo flamegraph , perf ⮳ (system profiler) |
Documentation Generator | cargo doc |
Code Coverage | grcov ⮳, tarpaulin ⮳ |
Continuous Integration | often uses CI platforms directly; no specific Rust crates needed, but xtask ⮳ can help manage CI tasks |
Code Analysis | cargo clippy , rust-analyzer (for Language Server Protocol support in IDEs) |
See also Rust tools⮳.
Cargo
Recipe | Crates | Categories |
---|---|---|
Basic cargo Usage | ||
Cargo.toml and Lock Files |
Recipe | Crates | Categories |
---|---|---|
Crate Registries | crates.io⮳ | |
Access crates.io APIs with crates_io |
Recipe | Crates | Categories |
---|---|---|
Package Layout |
Rust Compilation
Recipe | Crates | Categories |
---|---|---|
Use Dynamic Linking | ||
Compile Incrementally | ||
Measure Build Times | ||
Optimize Compilation Levels | ||
Measure Build Times |
FIXME
Recipe | Crates | Categories |
---|---|---|
Optimize Linking | lld ⮳zld ⮳ | |
Alternative - mold Linker | mold ⮳ |
FIXME
Documentation
Recipe | Crates | Categories |
---|---|---|
Document Your Code | ||
Create Module- or Crate-level Documentation | ||
Add Documentation to Function Arguments in Rust |
[review](https://github.com/john-cd/rust_howto/issues/917)
[fix; titles](https://github.com/john-cd/rust_howto/issues/298)
Formatting
Recipe | Crates | Categories |
---|---|---|
Format your Rust code with rustfmt | ||
Configure rustfmt | ||
Use Attributes to Skip Code Formatting in Your Code |
Installation
Recipe | Crates | Categories |
---|---|---|
Install and Manage Rust Toolchains with rustup |
Recipe | Crates | Categories |
---|---|---|
Build and Install a Rust Binary with cargo install | ||
Install a Rust Binary with cargo binstall |
Versioning
Rust Code Cross-compilation
Recipe | Crates | Categories |
---|---|---|
Cross-compile for Multiple Target OSes and Architectures | ||
Cross-compile with cargo |
See also Cross Compiling (Cargo Plugins).
Transpilation into Rust
Recipe | Crates | Categories |
---|---|---|
C to Rust Translation |
FIXME
Other
Recipe | Crates | Categories |
---|---|---|
Save and run project-specific Commands with the just Command Runner | ||
Check Your Rust Code in the Background |
Recipe | Crates | Categories |
---|---|---|
Verify Your Rust Code with kani | ||
Concurrent Code Verification | ||
loom | ||
shuttle |
Recipe | Crates | Categories |
---|---|---|
Install the miri Interpreter | ||
Detect Undefined Behavior with the miri Interpreter |