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

  • — GitHub list of Rust software and tools
  • — Rust package registry