List of Rust software and tools
Appearance
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
[edit]- Cranelift — code generator and JIT compiler that can be used to compile Rust through Wasmtime and experimental backends[1]
- LLVM[2]
- MRustC — alternative Rust compiler written in C++, focused on bootstrapping.[3]
- rustc — official Rust compiler, written in Rust and using LLVM as a backend.[4]
Integrated development environments and editors
[edit]- CLion / IntelliJ IDEA — with the official Rust plugin maintained by JetBrains[5]
- Emacs — support via rustic mode and rust-mode[6][7]
- Kate — basic Rust support via syntax highlighting and plugins
- Neovim / Vim — Rust support through plugins like rust.vim[8] and coc-rust-analyzer[9]
- RustRover — JetBrains IDE focused on Rust development
- Visual Studio Code — Rust support via the Rust Analyzer language server[10]
- Zed
Package managers and build systems
[edit]- Bazel — build system with community support for Rust rules[11]
- Cargo — Rust package manager and build tool, included with Rust distribution.[12]
- Crates.io — official package registry for Rust libraries and applications[13]
- Rustup — toolchain installer and version manager for Rust[14][15][16]
Libraries and frameworks
[edit]- Actix — actor framework and high-performance web framework[17]
- Diesel — ORM and query builder for Rust[18]
- Rayon — data parallelism library for Rust[19][20]
- Rocket — web framework focused on type safety[21]
- Serde — framework for serialization and deserialization supporting JSON, YAML, TOML, and more.[22]
- Tokio — asynchronous runtime for Rust[23]
Real-time and embedded systems
[edit]- no_std Rust — core Rust programming without the standard library, for bare-metal development.[24]
- Rust for Embedded — Rust support for embedded systems via the Embedded Working Group[25][26]
- RTIC — real-time concurrency framework for Cortex-M microcontrollers[27]
- Tock — embedded operating system written in Rust[28]
Numerical and scientific computing
[edit]- Linfa — machine learning framework for Rust[29][30]
- ndarray — array and linear algebra operations[31][32]
- nalgebra — general-purpose linear algebra library[33]
- Polars — DataFrame library for data analysis in Rust[34]
Verification, debugging, and analysis
[edit]- Clippy — linter for Rust, providing warnings for common mistakes and idioms.[35][36]
- Miri — interpreter for Rust's mid-level intermediate representation (MIR), used for checking undefined behavior.[37]
- Rustfmt — formatting tool for Rust code[38]
- Sanitizer — Rust integration with LLVM sanitizers for memory and thread safety[39]
Testing frameworks
[edit]- Built-in test framework — included in the Rust compiler and Cargo[40][41]
- Proptest — property-based testing framework for Rust[42][43]
- QuickCheck for Rust — port of the Haskell QuickCheck property-testing library[44]
Documentation and code generation
[edit]- Bindgen — generates Rust FFI bindings to C libraries[45][46]
- Cbindgen — generates C headers from Rust code[47][48]
- rustdoc — official Rust documentation generator[49]
See also
[edit]External links
[edit]- Awesome-Rust — GitHub list of Rust software and tools
- crates.io — Rust package registry
- Official Rust documentation
- Official Rust website
- Rust on GitHub
References
[edit]- ^ https://github.com/bytecodealliance/wasmtime
- ^ https://llvm.org/
- ^ https://github.com/thepowersgang/mrustc
- ^ https://doc.rust-lang.org/rustc/index.html
- ^ https://www.jetbrains.com/rust/
- ^ https://github.com/brotzeit/rustic
- ^ https://github.com/rust-lang/rust-mode
- ^ https://github.com/rust-lang/rust.vim
- ^ https://github.com/fannheyward/coc-rust-analyzer
- ^ https://rust-analyzer.github.io/
- ^ https://bazel.build/
- ^ https://doc.rust-lang.org/cargo/
- ^ https://crates.io/
- ^ https://rust-lang.github.io/rustup/
- ^ https://rust-lang.github.io/rustup/
- ^ https://rustup.rs/
- ^ https://actix.rs/
- ^ https://diesel.rs/
- ^ https://github.com/rayon-rs/rayon
- ^ https://docs.rs/rayon/latest/rayon/
- ^ https://rocket.rs/
- ^ https://serde.rs/
- ^ https://tokio.rs/
- ^ https://docs.rust-embedded.org/book/intro/no-std.html
- ^ https://docs.rust-embedded.org/
- ^ https://github.com/rust-embedded/awesome-embedded-rust
- ^ https://rtic.rs/
- ^ https://www.tockos.org/
- ^ https://github.com/rust-ml/linfa
- ^ https://rust-ml.github.io/linfa/rustdocs/linfa/
- ^ https://github.com/rust-ndarray/ndarray
- ^ https://docs.rs/ndarray/latest/ndarray/
- ^ https://docs.rs/nalgebra/latest/nalgebra/
- ^ https://www.pola.rs/
- ^ https://github.com/rust-lang/rust-clippy
- ^ https://doc.rust-lang.org/clippy/
- ^ https://github.com/rust-lang/miri
- ^ https://github.com/rust-lang/rustfmt
- ^ https://doc.rust-lang.org/unstable-book/compiler-flags/sanitizer.html
- ^ https://doc.rust-lang.org/book/ch11-01-writing-tests.html
- ^ https://doc.rust-lang.org/rust-by-example/testing/unit_testing.html
- ^ https://altsysrq.github.io/proptest-book/
- ^ https://docs.rs/proptest/latest/proptest/
- ^ https://github.com/BurntSushi/quickcheck
- ^ https://rust-lang.github.io/rust-bindgen/
- ^ https://docs.rs/bindgen/latest/bindgen/
- ^ https://github.com/mozilla/cbindgen
- ^ https://docs.rs/cbindgen/latest/cbindgen/
- ^ https://doc.rust-lang.org/rustdoc/