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 (MIR), 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
See also
External links
References