Jump to content

List of Rust software and tools

From Wikipedia, the free encyclopedia

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]

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]

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]
[edit]

References

[edit]
  1. ^ https://github.com/bytecodealliance/wasmtime
  2. ^ https://llvm.org/
  3. ^ https://github.com/thepowersgang/mrustc
  4. ^ https://doc.rust-lang.org/rustc/index.html
  5. ^ https://www.jetbrains.com/rust/
  6. ^ https://github.com/brotzeit/rustic
  7. ^ https://github.com/rust-lang/rust-mode
  8. ^ https://github.com/rust-lang/rust.vim
  9. ^ https://github.com/fannheyward/coc-rust-analyzer
  10. ^ https://rust-analyzer.github.io/
  11. ^ https://bazel.build/
  12. ^ https://doc.rust-lang.org/cargo/
  13. ^ https://crates.io/
  14. ^ https://rust-lang.github.io/rustup/
  15. ^ https://rust-lang.github.io/rustup/
  16. ^ https://rustup.rs/
  17. ^ https://actix.rs/
  18. ^ https://diesel.rs/
  19. ^ https://github.com/rayon-rs/rayon
  20. ^ https://docs.rs/rayon/latest/rayon/
  21. ^ https://rocket.rs/
  22. ^ https://serde.rs/
  23. ^ https://tokio.rs/
  24. ^ https://docs.rust-embedded.org/book/intro/no-std.html
  25. ^ https://docs.rust-embedded.org/
  26. ^ https://github.com/rust-embedded/awesome-embedded-rust
  27. ^ https://rtic.rs/
  28. ^ https://www.tockos.org/
  29. ^ https://github.com/rust-ml/linfa
  30. ^ https://rust-ml.github.io/linfa/rustdocs/linfa/
  31. ^ https://github.com/rust-ndarray/ndarray
  32. ^ https://docs.rs/ndarray/latest/ndarray/
  33. ^ https://docs.rs/nalgebra/latest/nalgebra/
  34. ^ https://www.pola.rs/
  35. ^ https://github.com/rust-lang/rust-clippy
  36. ^ https://doc.rust-lang.org/clippy/
  37. ^ https://github.com/rust-lang/miri
  38. ^ https://github.com/rust-lang/rustfmt
  39. ^ https://doc.rust-lang.org/unstable-book/compiler-flags/sanitizer.html
  40. ^ https://doc.rust-lang.org/book/ch11-01-writing-tests.html
  41. ^ https://doc.rust-lang.org/rust-by-example/testing/unit_testing.html
  42. ^ https://altsysrq.github.io/proptest-book/
  43. ^ https://docs.rs/proptest/latest/proptest/
  44. ^ https://github.com/BurntSushi/quickcheck
  45. ^ https://rust-lang.github.io/rust-bindgen/
  46. ^ https://docs.rs/bindgen/latest/bindgen/
  47. ^ https://github.com/mozilla/cbindgen
  48. ^ https://docs.rs/cbindgen/latest/cbindgen/
  49. ^ https://doc.rust-lang.org/rustdoc/