List of Rust software and tools
This is a list of software and programming tools for the Rust programming language, including IDEs, compilers, libraries, verification and debugging tools, numerical and scientific computing libraries, and related projects.
Compilers
- Cranelift — code generator and JIT compiler that can be used to compile Rust through Wasmtime and experimental backends
- LLVM
- MRustC — alternative Rust compiler written in C++, focused on bootstrapping.
- rustc — official Rust compiler, written in Rust and using LLVM as a backend.
Integrated development environments and editors
- CLion / IntelliJ IDEA — with the official Rust plugin maintained by JetBrains
- Emacs — support via rustic mode and rust-mode
- Kate — basic Rust support via syntax highlighting and plugins
- Neovim / Vim — Rust support through plugins like rust.vim and coc-rust-analyzer
- RustRover — JetBrains IDE focused on Rust development
- Visual Studio Code — Rust support via the Rust Analyzer language server
- Zed
Package managers and build systems
- Bazel — build system with community support for Rust rules
- Cargo — Rust package manager and build tool, included with Rust distribution.
- Crates.io — official package registry for Rust libraries and applications
- Rustup — toolchain installer and version manager for Rust
Libraries and frameworks
- Actix — actor framework and high-performance web framework
- Diesel — ORM and query builder for Rust
- Rayon — data parallelism library for Rust
- Rocket — web framework focused on type safety
- Serde — framework for serialization and deserialization supporting JSON, YAML, TOML, and more.
- Tokio — asynchronous runtime for Rust
Real-time and embedded systems
- no_std Rust — core Rust programming without the standard library, for bare-metal development.
- Rust for Embedded — Rust support for embedded systems via the Embedded Working Group
- RTIC — real-time concurrency framework for Cortex-M microcontrollers
- Tock — embedded operating system written in Rust
Numerical and scientific computing
- Linfa — machine learning framework for Rust
- ndarray — array and linear algebra operations
- nalgebra — general-purpose linear algebra library
- Polars — DataFrame library for data analysis in Rust
Verification, debugging, and analysis
- Clippy — linter for Rust, providing warnings for common mistakes and idioms.
- Miri — interpreter for Rust's mid-level intermediate representation, used for checking undefined behavior.
- Rustfmt — formatting tool for Rust code
- Sanitizer — Rust integration with LLVM sanitizers for memory and thread safety
Testing frameworks
- Built-in test framework — included in the Rust compiler and Cargo
- Proptest — property-based testing framework for Rust
- QuickCheck for Rust — port of the Haskell QuickCheck property-testing library
Documentation and code generation
- Bindgen — generates Rust FFI bindings to C libraries
- Cbindgen — generates C headers from Rust code
- rustdoc — official Rust documentation generator