- std : Rust Standard library
- Rust patterns
- Data structures
- Algorithms: Random numbers generators
- Encoding data
- Text processing
- Network programming
- Operating systems
- Development tools:
- Debugging: Errors, logging
- Build utils
- Procedural-macros
- shared solutions for particular situations specific to programming in Rust.
| Rust Crate | Description |
|---|---|
| bitflags | Macro to generate structures which behave like bitflags |
| itertools | Extra iterator adaptors, iterator methods, free functions, and macros |
| once_cell | Single assignment cells and lazy values |
- Rust implementations of data structures for specific purposes.
| Rust Crate | Description |
|---|---|
| hashbrown | Port of Google's SwissTable hash map |
| indexmap | A hash table with consistent order and fast iteration |
- Core algorithms such as hashing, sorting and searching.
| Rust Crate | Description |
|---|---|
| getrandom | A small cross-platform library for retrieving random data from system source |
| rand | Random number generators and other randomness functionality |
| rand_chacha | ChaCha random number generator |
| rand_core | Core random number generator traits and tools for implementation |
- Encoding and/or decoding data from one data format to another.
- Serialization, deserialization, string conversion
| Rust Crate | Description |
|---|---|
| base64 | encodes and decodes base64 as bytes or utf8 |
| itoa | Fast integer primitive to string conversion |
| serde | Generic serialization/deserialization framework - Additional docs |
| serde_derive | Macros 1.1 implementation of #[derive(Serialize, Deserialize)] - Additional docs |
- Text processing Deal with the complexities of human language when expressed in textual form.
- String searching, Regular Expressions
| Rust Crate | Description |
|---|---|
| memchr | Provides extremely fast (uses SIMD on x86_64, aarch64 and wasm32) routines for 1, 2 or 3 byte search and single substring search |
| regex-automata | Automata construction and matching using regular expressions |
| unicode-ident | Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31 |
- Network protocols such as FTP, HTTP, or SSH, or lower-level TCP or UDP.
| Rust Crate | Description |
|---|---|
| socket2 | Utilities for handling networking sockets with a maximal amount of configuration possible intended. |
- Bindings to operating system-specific APIs.
| Rust Crate | Description |
|---|---|
| libc | Raw FFI bindings to platform libraries like libc |
| windows-sys | Rust for Windows |
- Figure out what is going on with your code via logging, tracing, or assertions.
| Rust Crate | Description |
|---|---|
| thiserror | derive(Error) - custom error handling |
| thiserror-impl | Implementation detail of the thiserror crate |
| Rust Crate | Description |
|---|---|
| log | Logging library |
- Utilities for build scripts and other build time steps.
| Rust Crate | Description |
|---|---|
| autocfg | Automatic cfg for Rust compiler features |
- Extend Rust language with procedural macros.
| Rust Crate | Description |
|---|---|
| cfg-if | Macro to ergonomically define an item depending on a large number of #[cfg] parameters. Structured like an if-else chain, the first matching branch is the item that gets emitted |
| proc-macro2 | substitute implementation of the compiler's proc_macro API to decouple token-based libraries from the procedural macro use case |
| quote | Quasi-quoting macro quote!(...) |
| syn | Parser for Rust source code |