Software:List of Rust software and tools
From HandWiki
Short description: Rust software and development 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[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
- 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
- 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]
Libraries and frameworks
- Actix — actor framework and high-performance web framework[16]
- Diesel — ORM and query builder for Rust[17]
- Rayon — data parallelism library for Rust[18][19]
- Rocket — web framework focused on type safety[20]
- Serde — framework for serialization and deserialization supporting JSON, YAML, TOML, and more.[21]
- Tokio — asynchronous runtime for Rust[22]
Real-time and embedded systems
- no std Rust — core Rust programming without the standard library, for bare-metal development.[23]
- Rust for Embedded — Rust support for embedded systems via the Embedded Working Group[24][25]
- RTIC — real-time concurrency framework for Cortex-M microcontrollers[26]
- Tock — embedded operating system written in Rust[27]
Numerical and scientific computing
- Linfa — machine learning framework for Rust[28][29]
- ndarray — array and linear algebra operations[30][31]
- nalgebra — general-purpose linear algebra library[32]
- Polars — DataFrame library for data analysis in Rust[33]
Verification, debugging, and analysis
- Clippy — linter for Rust, providing warnings for common mistakes and idioms.[34][35]
- Miri — interpreter for Rust's mid-level intermediate representation (MIR), used for checking undefined behavior.[36]
- Rustfmt — formatting tool for Rust code[37]
- Sanitizer — Rust integration with LLVM sanitizers for memory and thread safety[38]
Testing frameworks
- Built-in test framework — included in the Rust compiler and Cargo[39][40]
- Proptest — property-based testing framework for Rust[41][42]
- QuickCheck for Rust — port of the Haskell QuickCheck property-testing library[43]
Documentation and code generation
- Bindgen — generates Rust FFI bindings to C libraries[44][45]
- Cbindgen — generates C headers from Rust code[46][47]
- rustdoc — official Rust documentation generator[48]
See also
| Wikibooks has a book on the topic of: Rust for the Novice Programmer |
- Lists of programming software development tools by language
- Outline of the Rust programming language
External links
- Awesome-Rust — GitHub list of Rust software and tools
- crates.io — Rust package registry
- Official Rust documentation
- Official Rust website
- Rust on GitHub
References
- ↑ 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://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/
