-
bitflags
A macro to generate structures which behave like bitflags
-
thiserror
derive(Error)
-
anyhow
Flexible concrete Error type built on std::error::Error
-
itertools
Extra iterator adaptors, iterator methods, free functions, and macros
-
derive_more
Adds #[derive(x)] macros for more traits
-
ordered-float
Wrappers for total ordering on floats
-
predicates
boolean-valued predicate functions
-
num
A collection of numeric types and traits for Rust, including bigint, complex, rational, range iterators, generic integers, and more!
-
once_cell
Single assignment cells and lazy values
-
darling
A proc-macro library for reading attributes into structs when implementing custom derives
-
async-stream
Asynchronous streams using async & await notation
-
num_enum
Procedural macros to make inter-operation between primitives and enums easier
-
validator
Common validation functions (email, url, length, …) and trait - to be used with
validator_derive
-
lazy_static
A macro for declaring lazily evaluated statics in Rust
-
miette
Fancy diagnostic reporting library and protocol for us mere mortals who aren't compiler hackers
-
bytes
Types and traits for working with bytes
-
derive_builder
Rust macro to automatically implement the builder pattern for arbitrary structs
-
human-panic
Panic messages for humans
-
eyre
Flexible concrete Error Reporting type built on std::error::Error with customizable Reports
-
snafu
An ergonomic error handling library
-
bon
Next-gen compile-time-checked builder generator, named function's arguments, and more!
-
downcast-rs
Trait object downcasting support using only safe Rust. It supports type parameters, associated types, and type constraints.
-
smol_str
small-string optimized string type with O(1) clone
-
enumflags2
Enum-based bit flags
-
dyn-clone
Clone trait that is object-safe
-
pin-project-lite
A lightweight version of pin-project written with declarative macros
-
frunk
developers with a number of functional programming tools like HList, Coproduct, Generic, LabelledGeneric, Validated, Monoid, Semigroup and friends
-
approx
Approximate floating point equality comparisons and assertions
-
similar-asserts
assert_eq! like macros with colorized diff output
-
tap
Generic extensions for tapping values in Rust
-
typed-builder
Compile-time type-checked builder derive
-
macro_rules_attribute
Use declarative macros in attribute or derive position
-
memoffset
offset_of functionality for Rust structs
-
ouroboros
Easy, safe self-referential struct generation
-
enum-iterator
Tools to iterate over all values of a type (e.g. all variants of an enumeration)
-
self_cell
Safe-to-use proc-macro-free self-referential structs in stable Rust
-
scopeguard
RAII scope guard that will run a given closure when it goes out of scope, even if the code between panics (assuming unwinding panic). Defines the macros
defer!
, `defer_on_unwind… -
static_assertions
Compile-time assertions to ensure that invariants are met
-
compiler_builtins
Compiler intrinsics used by the Rust compiler. Also available for other targets if necessary!
-
cfg-if
A 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.
-
rustlings
Small exercises to get you used to reading and writing Rust code!
-
typenum
type-level numbers evaluated at compile time. It currently supports bits, unsigned integers, and signed integers. It also provides a type-level array of type-level numbers, but its…
-
bitfield
macros to generate bitfield-like struct
-
pin-project
safe and ergonomic pin-projection
-
ref-cast
Safely cast &T to &U where the struct U contains a single field of type T
-
nonempty
Correct by construction non-empty vector
-
beef
More compact Cow
-
arrayref
Macros to take array references of slices
-
az
Casts and checked casts
-
inventory
Typed distributed plugin registration
-
extendr-api
Safe and user friendly bindings to the R programming language
-
error-stack
A context-aware error-handling library that supports arbitrary attached user data
-
sptr
Strict Provenance Polyfill
-
decorum
Total ordering, equivalence, hashing, and constraints for floating-point types
-
more-asserts
Small library providing additional assert_* and debug_assert_* macros
-
new_debug_unreachable
panic in debug, intrinsics::unreachable() in release (fork of debug_unreachable)
-
amplify
Amplifying Rust language capabilities: multiple generic trait implementations, type wrappers, derive macros
-
scoped-tls
standard library’s old
scoped_thread_local!
macro for providing scoped access to thread local storage (TLS) so any type can be stored into TLS -
cfg_aliases
A tiny utility to help save you a lot of effort with long winded
#[cfg()]
checks -
rustdoc-types
Types for rustdoc's json output
-
backon
Make retry like a built-in feature provided by Rust
-
float-cmp
Floating point approximate comparison traits
-
nutype
The newtype with guarantees
-
volatile
wrapper types for raw pointers
-
safer-ffi
Write safer FFI code in Rust without polluting it with unsafe code
-
flagset
Data types and a macro for generating enumeration-based bit flags
-
cmd_lib
Common rust commandline macros and utils, to write shell script like tasks easily
-
opaque-debug
Macro for opaque Debug trait implementation
-
if_chain
Macro for writing nested
if let
expressions -
constcat
concat! with support for const variables and expressions
-
assertables
assert macros for better testing, debugging, quality assurance, and runtime reliability
-
replace_with
Temporarily take ownership of a value at a mutable location, and replace it with a new value based on the old one
-
trie-db
Merkle-Patricia Trie generic over key hasher and node encoding
-
abi_stable
For doing Rust-to-Rust ffi,writing libraries loaded at program startup
-
educe
offers procedural macros designed to facilitate the swift implementation of Rust's built-in traits
-
orchestra
Generate an orchestra of subsystems from a single struct
-
inlinable_string
inlinable_string
crate provides theInlinableString
type – an owned, grow-able UTF-8 string that stores small strings inline and avoids heap-allocation – and theStringExt
trait… -
polonius-the-crab
Tools to feature more lenient Polonius-based borrow-checker patterns in stable Rust
-
derive-where
Deriving with custom trait bounds
-
iri-string
IRI as string types
-
index_vec
Newtype-style helpers for
Vec
andusize
-
static_init
Safe mutable static and non const static initialization, and code execution at program startup/exit
-
unwinding
in Rust and for Rust
-
async-once-cell
Async single assignment cells and lazy values
-
dlib
Helper macros for handling manually loading optional system libraries
-
extism-pdk
Extism Plug-in Development Kit (PDK) for Rust
-
float-ord
A total ordering for floating-point numbers
-
stdext
Extensions for the Rust standard library structures
-
fallible_collections
adds fallible allocation api to std collections
-
bounded-integer
Bounded integers
-
enum-ordinalize
enables enums to not only obtain the ordinal values of their variants but also allows for the construction of enums from an ordinal value
-
auto_impl
Automatically implement traits for common smart pointers and closures
-
bit_field
bit field trait providing get_bit, get_bits, set_bit, and set_bits methods for Rust's integral types
-
writeable
A more efficient alternative to fmt::Display
-
fixedstr
strings of constant maximum size that can be copied and stack allocated using const generics
-
lazy_format
lazily formatting values for later
-
typewit
type-witness-based abstractions, mostly for emulating polymorphism in const fns
-
color-eyre
An error report handler for panics and eyre::Reports for colorful, consistent, and well formatted error reports for all kinds of errors
-
aws-smithy-types-convert
Conversion of types from aws-smithy-types to other libraries
-
recursion
cache-aware stack safe recursion
-
fragile
wrapper types for sending non-send values to other threads
-
pact_consumer
Pact-Rust module that provides support for writing consumer pact tests
-
by_address
Wrapper for comparing and hashing pointers by address
-
iter-read
A Read implementation for iterators over u8 and related types
-
testresult
type for concise and precise test failures
-
rustler
Safe Rust wrappers for creating Erlang NIF functions
-
buffered-reader
A super-powered Reader
-
erasable
Type-erased thin pointers
-
async-trait
Type erasure for async trait methods
-
tuples
many useful tools related to tuples
-
byte-slice-cast
Safely cast bytes slices from/to slices of built-in fundamental numeric types
-
fallible-iterator
Fallible iterator traits
-
field-offset
Safe pointer-to-member implementation
-
terrors
ergonomic and precise error handling built atop type-level set arithmetic
-
maplit
Collection “literal” macros for HashMap, HashSet, BTreeMap, and BTreeSet
-
castaway
Safe, zero-cost downcasting for limited compile-time specialization
-
tynm
Returns type names in shorter form
-
virtue
A sinless derive macro helper
-
inout
Custom reference types for code generic over in-place and buffer-to-buffer modes of operation
-
easy-cast
Type conversions which are expected to succeed
-
const-gen
generating (relatively) complex compile-time constants in rust
-
fix-hidden-lifetime-bug
Proc-macro to write an automatic fix for the "hidden lifetime in impl Trait" issue
-
bounded-collections
Bounded types and their supporting traits
-
fatality
extension to
thiserror::Error
-
error-code
Error code
-
rustrict
profanity filter for Rust
-
scoped-tls-hkt
more flexible version of
scoped-tls
, allowing the following additional features: Storage of references to dynamically sized types. Storage of mutable references. Storage of… -
rustversion
Conditional compilation according to rustc compiler version
-
retour
A cross-platform detour library written in Rust
-
oxrdf
providing basic data structures related to RDF
-
chalk-ir
Chalk's internal representation of types, goals, and clauses
-
cascade
Dart-like cascade macro for Rust
-
psm
Portable Stack Manipulation: stack manipulation and introspection routines
-
st-map
Runtime for a stack-alocated map
-
shaku
Compile Time Dependency Injection for Rust
-
loupe
Profiling tool for Rust
-
safe-transmute
A safeguarded transmute() for Rust
-
internal-iterator
Internal iteration equivalent of
std::iter::Iterator
-
bounded-vec
Non-empty rust Vec wrapper with type guarantees on lower and upper bounds for items quantity
-
pyo3-polars
Expression plugins and PyO3 types for polars
-
pinned-init
facilitate safe pinned initialization
-
version-sync
ensuring that version numbers in README files and other files are kept in sync with the crate version
-
indoc
Indented document literals
-
parse-display
Procedural macro to implement Display and FromStr using common settings
-
tor-error
unified type-erased error type returned by many (esp. high-level) Tor APIs.
-
konst
Const equivalents of std functions, compile-time comparison, and parsing
-
mirai-annotations
Macros that provide source code annotations for MIRAI
-
argp
Derive-based argument parser optimized for code size
-
lender
A lending-iterator trait based on higher-rank trait bounds, with full std::iter::Iterator functionality
-
advent-of-code
Solutions to Advent of Code
-
send_wrapper
implements a wrapper type called SendWrapper which allows you to move around non-Send types between threads, as long as you access the contained value only from within the original thread…
-
anymap3
A safe and convenient store for one value of each type
-
shopify_function
write Shopify Functions in Rust
-
error_set
An error set macro that simplifies error management by providing a streamlined method for defining errors and easily converting between them. Inspired by Zig's error set type.
-
calendrical_calculations
Calendrical calculations in Rust
-
maybe-owned
MaybeOwned
(andMaybeOwnedMut
) type similar to std’sCow
but it implementsFrom<T>
andFrom<&'a T>
and does not requireToOwned
-
autosurgeon
working with data in automerge documents
-
conjure-object
Runtime support for generated Conjure objects
-
moveit
safe, in-place construction of Rust (and C++!) objects
-
nshare
Conversion between n-dimensional types in different Rust crates
-
log-once
Collection of helper macros for logging some events only once
-
strck
Checked owned and borrowed strings
-
tryhard
Easily retry futures
-
socketpair
Cross-platform socketpair functionality
-
overload
macro to simplify operator overloading
-
servo_arc
A fork of std::sync::Arc with some extra functionality and without weak references
-
oxc_index
Newtype-style helpers for
Vec
andusize
-
bounded-static
Defines the ToBoundedStatic and IntoBoundedStatic traits
-
o2o
Object to Object mapper for Rust. Derive '(Try)From' and '(Try)Into' traits.
-
rdftk_names
set of modules that contain the
IRI
s andQName
strings for commonly used vocabularies. It also provides macro support for defining new namespaces in the same style as this library. -
tstr
Type-level strings
-
try_match
Fallible pattern matching with a function-like syntax
-
libc-print
println! and eprintln! macros on libc without stdlib
-
formatx
A macro for formatting non literal strings at runtime
-
capacity_builder
Builders where the code to calculate the capacity is the same as the code to write what's being built
-
k8-client
Core Kubernetes metadata traits
-
deno_error
Error representation to JavaScript for deno
-
implicit-clone
Immutable types and ImplicitClone trait similar to Copy
-
thiserror-no-std
derive(Error)
-
vtable
Helper crate to generate ffi-friendly virtual tables
-
retry
retrying operations that can fail
-
mirror-mirror
Reflection library for Rust
-
joinery
A small crate for generically joining iterators with a separator
-
reborrow
Emulate reborrowing for user types
-
aoc-parse
A little library for parsing your Advent of Code puzzle input
-
devela
A cohesive development layer
-
statum
Compile-time state machine magic for Rust: Zero-boilerplate typestate patterns with automatic transition validation
-
cast_trait_object
Cast between trait objects using only safe Rust
-
sealed
Macro for sealing traits and structures
-
with_locals
Function attribute to return references to locals by using CPS
-
random-number
Generate random numbers quickly
-
rc-box
Known unique versions of Rc and Arc
-
dync
An efficient alternative to
dyn Trait
for containerized types -
concat-with
Extend the function of the
concat!
macro instd
-
unleash-yggdrasil
Unleash SDK domain logic extracted into a library to facilitate building your own Unleash SDKs in anything, anywhere
-
slice_ops
A selection of useful slice operations
-
timely_bytes
Disjoint mutable byte slices from a common allocation
-
ra_ap_mbe
Handling of
macro_rules
macros for rust-analyzer -
outref
Out reference
-
elain
Set a type's minimum alignment with const generics
-
myutil
Rust Util Collections
-
flex-error
Flexible error definitions using macros and traits
-
documented
Derive and attribute macros for accessing your type's documentation at runtime
-
parsel
Zero-code parser generation by using AST node types as the grammar
-
rust-fsm
A framework and a DSL for building finite state machines in Rust
-
fluent-comparisons
Boost readability by writing multicomparison expressions like
if any_of!({a,b,c}>=5) {...}
while keeping the benefits of hand-written code -
lazy_errors
Effortlessly create, group, and nest arbitrary errors, and defer error handling ergonomically
-
better_scoped_tls
scoped-tls, but with good error message
-
data-rw
io buffer write reader
-
extend
Create extensions for types you don't own with extension traits but without the boilerplate
-
macro-attr-2018
macro_attr!
macro that enables the use of custom, macro-based attributes and derivations -
assert_approx_eq
assert approximately equal
-
doc-comment
Macro to generate doc comments
-
soa-rs
A Vec-like structure-of-arrays container
-
tuplex
Rust tuple extension
-
i_float
This fixed float math library provides an efficient and deterministic solution for arithmetic and geometric operations
-
display-error-chain
Formats a standard error and its sources
-
conflate
Merge multiple values into one
-
safelog
Conditionally suppress confidential information from logs
-
moddef
Macro for convenient module declaration. Each module can be put in a group, and visibility can be applied to the whole group with ease.
-
devise
devising derives and other procedural macros
-
hax-frontend-exporter-options
The options the
hax-frontend-exporter
crate is sensible to -
miden-miette
Fancy diagnostic reporting library and protocol for us mere mortals who aren't compiler hackers
-
rust_info
Extracts the current rust compiler information
-
familiar
reserve
-
fixed-hash
Macros to define custom fixed-size hash types
-
semval
Semantic validation
-
open-enum
An attribute for generating "open" fieldless enums, those that accept any integer value, by using a newtype struct and associated constants
-
peeking_take_while
Like
Iterator::take_while
, but calls the predicate on a peeked value. This allows you to useIterator::by_ref
andIterator::take_while
together, and still get the first value… -
thiserror-core
derive(Error)
-
lowdash
A Lodash inspired utility library to manipulate array and object
-
lazycell
providing a lazily filled Cell struct
-
copyless
Ways to eliminate memcpy calls when using the standard library
-
macon
builder macro-based generator with its own idioms
-
egui-probe
Trait and derive macro for exposing value editing in egui
-
phantom-type
A
PhantomData
analog which prevents “parameter is never used” error, but does not produce any restrictions in contrast withPhantomData
-
autofolder
Single-element folding wrapper
-
cap-std-ext
Extension APIs for cap-std
-
sqlx-paginated
A flexible, type-safe SQLx query builder for dynamic web APIs, offering seamless pagination, searching, filtering, and sorting
-
void
The uninhabited void type for use in statically impossible cases
-
k8s-openapi-codegen-common
Common code for the k8s-openapi code generator and k8s-openapi-derive
-
const-field-offset
Wrapper around field-offset crate and const-field-offset-macro
-
stak-native
Optimized primitives of native functions for Stak Scheme
-
ungrammar
A DSL for describing concrete syntax trees
-
vector2d
The spoon of 2D vector libraries, intended for simple game development
-
cl-format
Use Common Lisp format in Rust
-
zoet
Adds
#[zoet]
macro to reduce boilerplate when implementing common traits -
dispose
wrapper for values that must be consumed on drop
-
andex
Safe, strongly typed array indexes and wrappers for rust with zero dependencies
-
funty
Trait generalization over the primitive types
-
buildstructor
Macro to derive a builder from a constructor function
-
xx
A collection of useful Rust macros and small functions
-
condtype
Choose types at compile-time via boolean constants
-
delegation
Macro-based delegation for enums and structs
-
munge
Macro for custom destructuring
-
fmt2io
A bridge between std::io::Write and std::fmt::Write
-
entrait
Loosely coupled Rust application design made easy
-
fn_vm
A lightweight frame based virtual machine, meant as the base for rigz_vm
-
TSPL
The Simplest Parser Library
-
suika_templates
template engine for the suika web stack
-
exhaust
Trait and derive macro for working with all possible values of a type (exhaustive enumeration)
-
resiter
Helper crate for handling iterators over result
-
octseq
Abstractions for types representing octet sequences
-
doku
A framework for documenting Rust data structures
-
raw-parts
Ergonomic wrapper around
Vec::from_raw_parts
andVec::into_raw_parts
-
mitsein
Strongly typed APIs for non-empty collections, slices, and iterators
-
yffi
Bindings for the Yrs native C foreign function interface
-
sugars
An useful collection of macros to make tasks easier
-
psl-types
Common types for the public suffix implementation crates
-
pilgrimage
A Kafka-like message broker in Rust
-
vitasdk-sys
Raw bindings to vitasdk
-
iterate-trait
Experiment with methods on IntoIterator
-
macro-asm-builder
macro-assemblers
-
refined_type
imbuing rules into types and elevating them to more robust types
-
qualifier_attr
Procedural macro attributes for adding "qualifiers" (pub, async, unsafe, const, extern "C", ...) to various items
-
lending-iterator
Fully general lending iterators in stable rust: windows_mut!
-
bool_ext
defines and implements a complete set of
Option
/Result
-style Boolean functional combinators on Rust’sbool
primitive type -
metastruct
Abstractions for iterating and mapping over struct fields
-
hermit-sync
Synchronization primitives for kernels
-
ltpp-output
An atomic output library based on Rust that supports output functionalities through functions, builders, and other methods. It allows customization of text and background colors.
-
cexpr
A C expression parser and evaluator
-
nar_dev_utils
用于NARS相关项目开发的实用工具包
-
comfy-bounded-ints
Bounded-integer types focused on ergonomics and safety. (See README.md)
-
aerosol
dependency injection for Rust
-
blanket
macro to derive blanket implementations for your traits
-
trybuild-internals-api
A fork of trybuild with the internals exposed as a public API
-
event-driven-library
Event Driven Message Handling
-
scale-typegen
Type Generation for SCALE encoded Rust Types
-
arr_macro
Initialize arrays with ease!
-
downcast
Trait for downcasting trait objects back to their original types
-
fmt-cmp
Traits and utilities for lexicographically comparing values in their
Display
representations -
rudi
out-of-the-box dependency injection framework for Rust
-
one_err
OneErr to rule them all
-
more-di
support for dependency injection (DI)
-
swipl
A high-level library for building SWI-Prolog extensions and embedding SWI-Prolog in rust applications
-
proc-bitfield
expressively declare bitfield-like structs
-
copy_from_str
An extension trait to copy a string into another string
-
fauxgen
write your own generators in stable rust
-
rvstruct
A helper macros implementation for Value Classes in Rust
-
globals
Painless global variables in Rust
-
human-errors
An error library focused on providing your users with relevant advice for any problem
-
custom_error
Define custom errors without boilerplate using the custom_error! macro
-
cumulus-primitives-aura
Core primitives for Aura in Cumulus
-
smarterr
Smart error handling library
-
conv2
number of conversion traits with more specific semantics than those provided by 'as' or 'From'/'Into'
-
capnp_conv
capnp write/read traits to convert from structs to readers/builders
-
direction
Representations of directions
-
checked-rs
encoding validation semantics into the type system
-
relib_host
relib is a framework for reloadable dynamic libraries
-
nenyr
initial version of the Nenyr parser delivers robust foundational capabilities for interpreting Nenyr syntax. It intelligently processes central, layout, and module contexts, handling complex variable…
-
culpa
error-handling syntax in Rust
-
leptos-mview
A concise view macro for Leptos
-
auto_enums
allow multiple return types by automatically generated enum
-
btypes
Better types (BTypes) for when you dislike normal types, I guess
-
option_trait
Helper traits for more generalized options
-
wmlua
-
allow
Alias/label lints (to disable) with your intentions. Reexported from allow_prefixed, grouped under rustc::, clippy:: and rustdoc:: modules.
-
sosecrets-rs
Secret
wrapper type that reveals the secret at mostMEC: typenum::Unsigned
times with compile time guarantees -
enum-display
A macro to derive Display for enums
-
tinyvec_macros
Some macros for tiny containers
-
enum-assoc
Procedural macro to associate constants with enum variants
-
radiation
Convert Rust type into raw bytes and vice versa
-
generics
macros for parsing generics (with optional where clause) in
macro_rules!
-
model-mapper
Derive macro to map between different types
-
wiwi
Stuff™
-
fallible-streaming-iterator
Fallible streaming iteration
-
scaffolding-core
A software development kit that provides the scaffolding for building applications and services using OOP
-
next_tuple
A trait to build and extend tuples
-
heterob
conversion between bytes/bits and heterogeneous lists (tuples)
-
text-block-macros
Create a multiline string literal
-
nunny
the definitive non-empty slice/array/vec library for Rust
-
logkit
Super fast, structured, scalable logging library for Rust
-
unsafe-fields
unsafe to access or modify fields with safety invariants
-
service-builder
A lightweight, type-safe service construction library for Rust that provides compile-time dependency injection through builder pattern
-
defer
excecution of code, inspired by go's defer statement
-
collate
Traits and a data structure to support collation and bisection
-
strong-type
Procedural macros for naming and strong-typing pritimives and strings
-
pandora-interpreter
A command-line tool to run pandora language
-
orx-closure
An explicit closure with absolute seperation of the captured data from the function
-
anyinput
A macro for easier writing of functions that accept any string-, path-, iterator-, array-, or ndarray-like input
-
redb_model
Redb model derive macro and DTO type conversion
-
components-arena
creating complex domain-specific self-referential data structures
-
borrow
Zero-overhead, safe implementation of partial borrows. This crate allows you to borrow selected fields from a struct and split structs into non-overlapping sets of borrowed fields.
-
columnation
Unsafe columnar containers for native Rust types
-
dylint_linting
writing Dylint libraries
-
mownstr
Maybe Owned String
-
expect-exit
Result.expected(): display an error message and exit without a panic
-
funcmap
Derivable functorial mappings for Rust
-
self-rust-tokenize
Turns instances of Rust structures into a token stream that creates the instance
-
io-streams
Unbuffered and unlocked I/O streams
-
functor_derive
A derive macro to derive a functor for a type
-
byondapi
Idiomatic Rust bindings for BYONDAPI
-
ghost
Define your own PhantomData
-
autofloat
Pure Rust library for efficient automatic differentiation
-
shape
A decidable static shape system for JSON-like data
-
certain-map
A typed map which can make sure item exist
-
crustal
generating C/C++ code
-
cbor-data
using CBOR as in-memory representation for working with dynamically shaped data
-
validify
struct validation and modification functionality through the use of derive macros
-
synonym
Customizable derive macro to create newtypes. It peeks into the underlying type to choose which traits should be implemented.
-
is_empty
Easily check if the struct is empty
-
windows-targets
Import libs for Windows
-
drcp-format
Parse and write DRCP and literal definition files
-
bool_vec
A crates that exposes a vector called BoolVec which allows you to store a boolean in a single bit
-
auto_ops
Macros for easy operator overloading
-
strprintf
Provide a way to interpolate printf-style format strings using native Rust types. Part of libnewsboat lib dependencies
-
fomat-macros
Alternative syntax for print/write/format-like macros with a small templating language
-
borrowme
The missing compound borrowing for Rust
-
bilge
Use bitsized types as if they were a feature of rust
-
nameof
macro to determine the string name of a binding, type, const, or function
-
lazy-static-include
lazy_static_include_bytes
andlazy_static_include_str
macros to replaceinclude_bytes
andinclude_str
macros -
caret
Macros for declaring non-exhaustive C-style enumerations, with named members
-
kind
Costless typed identifiers backed by UUID, with kind readable in serialized versions
-
alternating-iter
Provide an iterator adaptor which alternate between two iterators
-
derive_destructure2
Destructure structs that implement Drop
-
numtest
Unit testing for numerical methods
-
endian-writer
[no_std] Methods for efficient reading and writing of structures to raw pointers in a stream-like fashion
-
fp_rust
Implement fp features for Rust
-
ext-trait
Annotation to easily define ad-hoc / one-shot extension traits
-
tc-error
TinyChain's generic error struct
-
ownable
Derive macro for structs/enums with Cow, which can convert Type<'a> to Type<'static> and more
-
tor-basic-utils
General helpers used by Tor
-
jnix
High-level extensions to help with the usage of JNI in Rust code
-
tokenlock
cell types that decouple permissions from data
-
drop_bomb
A runtime guard for implementing linear types
-
proc-easy
Macros to make writing proc-macro crates easy
-
penumbra-sdk-tct
The tiered commitment tree for Penumbra
-
swift-rs-hatter-fork
Call Swift from Rust with ease!
-
a1
A package for converting to and from A1 spreadsheet notation
-
deptypes
Dependent types
-
dprint-swc-ext
Functionality to make swc easier to work with
-
dogma
Dogma.rs
-
ptr-union
Pointer union types the size of a pointer by storing the tag in the alignment bits
-
clsx
A flexible class name composition utility for Rust, inspired by clsx and tailwind-merge
-
fixnum
Fixed-point numbers with explicit rounding
-
tupletools
functions for tuples
-
safe_math
Math without overflow, creates an enum and a macro to help mitigate any overflow while multiplying and adding
-
sod
Service Oriented Design
-
smart_task_openapi_axum
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
indices
macros and methods for safely retrieving multiple mutable elements from a mutable slice, addressing scenarios where slice elements would typically require
RefCell
orCell
(interior mutability approach) -
try-specialize
Zero-cost specialization in generic context on stable Rust
-
enum-ptr
Ergonomic tagged pointer
-
as-any
provide the AsAny trait
-
kinded
Generate enums with same variants, but without data
-
ice_code
A macro to mark code paths as cold, allowing the common case to be inlined
-
uniplate
boilerplate-free operations on tree-shaped data types
-
tardar
Extensions for diagnostic error handling with
miette
-
tisel
Effective type-based pseudodynamic dispatch to impls, enums and typeid
-
linear_type
Linear types for rust
-
ffi_helpers
help make working with FFI easier
-
dialogue-macro
An extension to dialoguer that simplifies command-line interaction interfaces
-
egui_struct
EguiStruct is a rust derive macro that creates egui UI's from arbitrary structs and enums
-
untrusted_value
aim to provide a type-safe way to handle and sanitize potentially untrusted values like user input
-
ref_wrapper
Wrapper of dynamically borrowed data
-
core_extensions
Extensions for core/std library types, and other miscelaneous features
-
nu-std
The standard library of Nushell
-
async_labjack
A pure rust, async interface to the LabJack T-series via Modbus TCP
-
cfg-iif
A macro for defining
#[cfg]
if-else
functions -
static-keys
Reimplement Linux kernel static keys for Rust userland applications
-
ctrlgen
Generate enums for message-passing services
-
essential-vm
The Essential VM
-
mapper
Mapping macro to help to reduce mapping boilerplate
-
cortex-ai
An asynchronous flow-based processing framework for building flexible data pipelines with conditional branching and error handling
-
never
A stable version of the unstable never type (!)
-
wrap-match
A procedural macro to wrap a function in match statement to make error logging super easy
-
one_two_eight
typed 128-bit identifiers
-
result-like
Option/Result-like monad interface for your own enum
-
yerevan
Small Rust crate that brings computation expressions idea from F# for help you to work easier with functors and monads
-
light_ranged_integers
Ranged integers for stable Rust compiler, zero-dependencies and no unsafe code
-
zngur
A Rust/C++ interoperability tool
-
yield-return
Implement a coroutine like C#‘s
yield return
using Rust’sasync
,await
-
hex_lit
Hex macro literals without use of hex macros
-
intern-arc
An interner that deallocates unused values
-
backtrace-error
wrap errors with automatic backtrace capture and print-on-result-unwrap
-
ergokv
Easily store and retrieve data from TiKV with a derive
-
bellframe
Fast and idiomatic primitives for Change Ringing
-
verity-memory
Personal memory library with some cool features
-
oxc-miette
Fancy diagnostic reporting library and protocol for us mere mortals who aren't compiler hackers
-
bio-types
A collection of common biomedical types for use in rust-bio and rust-htslib
-
implementation
The implementation crate
-
stack_dst
A wrapper that allows storage of unsized values of up to a fixed size inline (without boxing)
-
small_len
A small library for storing the length in the smallest internal type
-
merge
multiple values into one
-
rs_envflag
An easy way to define flags by environment variables
-
quoth
scannerless (no-lexing), developer-friendly parsing library for implementing DSLs and syntax parsers in Rust
-
sapp-jsutils
Helper functions for working with js objects in miniquad based apps
-
iter-identify_first_last
A helper iterator, flagging first and last elements
-
rancor
Scalable and efficient error handling without type composition
-
enum_cycling
Small macro for working with enums
-
const-default
A const Default trait
-
animatron
Animation state management
-
nonany
Integer types with customizable niche values
-
anybytes
A small library abstracting over bytes owning types in an extensible way
-
trait-cast
Get your own Any with support for casting to trait objects
-
rust-witness
Build a circom witness in Rust
-
sitrep
Frontend-agnostic progress reporting
-
iter_num_tools
Create simple iterators over non integer ranges. itertools + num = iter_num_tools
-
subplotlib
functions and types for
subplot codegen
generated Rust based test suites. Relies onsubplotlib-derive
for associated macros. -
nohashmap
Use HashMap syntax in Rust for non-hashable types
-
case_insensitive_string
A case insensitive string struct
-
hax-bounded-integers
Newtypes for working with bounded integers with hax
-
dynamodel
derive macro to implement conversions between your object and
HashMap<String, AttributeValue>
-
padder
Highly efficient data and string formatting library for Rust
-
reweb3-num
Arbitrary precision, fixed-size signed and unsigned integer types for ethereum, this a fork of bnum crate
-
cast
Ergonomic, checked cast functions for primitive types
-
twinsies
Smart pointer providing 2-way joint ownership of an object
-
slice-diff-patch
providing utility functions for diff and patch of slices
-
focusable
A trait for types that can be focused
-
pusherator
Push-based version of Rust iterators
-
pike
A macro collection to pipe |> your functions calls, like in functional languages such as F#, Elixir and OCamel
-
pathbufd
PathBuf with Display + formatting macro
-
type_cell
Attach values statically to a type using static get/set methods
-
default-constructor
Macros for creating pseudo-dsls that constructs structs through default construction and field conversion
-
iter-scan
Iterator scan methods that don't suck
-
value-box
Allows developers to pass Rust-allocated structures over ffi
-
structx
Simulating anonymous struct and named arguments in Rust
-
xdi
Rust di containers system
-
vector-traits
Rust traits for 2D and 3D vector types
-
probe
Static instrumentation probes
-
hlist2
Compile-time heterogeneous list implementation
-
eira
Ansi-colored error reporting output
-
wintypes
that exports windows functions as types
-
procmeta
integration procmeta-core and procmeta-proc
-
fn_macro
函数宏
-
selfie
Experimental, macro-free and allocation-free self-referential structs
-
shallowclone
Traits for working with copy-on-write types more efficiently
-
re_tuid
128-bit Time-based Unique Identifier
-
rust-quiz
Medium to hard Rust questions with complete explanations
-
elvish
Overengineered Advent of Code framework - not quite Santa's elves
-
impls
Determine if a type implements a logical trait expression
-
termite-dmg
Termite Data Model Generator is a crate meant to generate boiler plate code for data models
-
hzrd
Shared mutability containers based on hazard pointers
-
vcell
Cell
with volatile read / write operations -
iter-comprehensions
iterator comprehensions
-
ruut-functions
parse math functions from string (1D,2D,3D,ND) and perform symbolic derivation, gradient, hessian
-
linked_list_r4l
Linked lists that supports arbitrary removal in constant time
-
simple-error
error type backed by a string
-
panicking
std::thread::panicking
analog available in theno_std
context -
code-spells
Aliases some common (and less common) code snippets to macros named after thematically appropriate spells from Harry Potter, so that instead of calling drop(x), you can cast obliviate!(x)
-
rxml_validation
Plumbing crate for rxml and rxml_proc crates
-
nanokit
A collection of tiny, reusable utility methods that reduce code size and improve performance
-
v8_derive
Derive macros and helpers for Rusty v8
-
agb_fixnum
abstracting over fixed precision numbers. Designed for use with the agb library for the Game Boy Advance
-
traitsequence
Traits to abstract over sequences
-
derive-ctor
Adds
#[derive(ctor)]
which allows for the auto-generation of struct, enum, and union constructors -
mutually_exclusive_features
Macros to check that only none or one of a set of features is enabled at a time, as known as mutually exclusive features
-
crevice_notan
Create GLSL-compatible versions of structs with explicitly-initialized padding
-
binread
helping read structs from binary data using ✨macro magic✨
-
fastn-type
fastn: Full-stack Web Development Made Easy
-
ecksport-core
Defs for frame types, traits, topics, error codes, etc
-
anyrust
any rust
-
context-async
context handle async future timeout or cancel
-
gen_ops
Macros for operator overloading for generic types
-
char-device
Character Device I/O
-
indexed_valued_enums
Create enums resolving into values, and get their variants back through their values or their discriminant, inspired by Java
-
inline-c
Write and execute C code inside Rust
-
fn-traits
function traits like the standard library ones, but can be used in stable Rust
-
prange2
Parse numeric ranges for indexing
-
bon-sandbox
Not a real crate! It’s just a showcase of examples used by
bon
’s documentation to demonstrate the rustdoc output for code generated by builder macros. Don’t use this crate, it… -
eventastic
opinionated fork of Eventually-rs. It enforces the use of transactions and handles idempotency.
-
dowhile_rs
Do while macro for rust with labels and nesting support
-
aargvark
Self-similar argument parsing
-
fmt-interspersed
write an iterator's items, interspersed with a separator, to a destination
-
aliri_braid
Improve and strengthen your strings by making them strongly-typed with less boilerplate
-
inline-python
Inline Python code directly in your Rust code
-
surrealdb-extras
additional functionality for working with SurrealDB
-
evcxr_repl
A REPL for Rust
-
jni-toolbox
tools to make writing JNI native functions less tiresome
-
lexi-matic
A Lexer Library
-
fromsuper
Macro helpers to derive new sub-structs from existing super-structs, potentially unpacking Options
-
cove
Casts Of Varying Elegance (COVE): extension traits for casting numerical types
-
livre
type-safe PDF parser
-
parsey
parser-generator framework
-
sigmut
a state management framework designed to be used as a foundation for UI frameworks
-
safecast
Traits to define safe casting between types
-
transient
Reimplementation of
std::any::Any
with support for non-'static
types -
rc-borrow
Borrowed forms of Rc and Arc
-
code-path
A code path macro
-
swift-bridge-build
Parse Rust files for swift-bridge modules and generate the corresponding Swift and C code for them
-
with_drop
Nostd wrapper for using a closure as a custom drop function
-
surreal_devl
Contains core logic of surreal derive
-
unarray
working with uninitialized arrays
-
wallee
Flexible concrete Error type built on std::error::Error with caller location tracking
-
generativity
Generation of unique invariant lifetimes
-
mago-interner
A string interning library that stores and reuses identical strings efficiently, improving memory use in large codebases or tools
-
opentalk-kustos-prefix
Derive macro for defining kustos prefix
-
merg
Merge multiple values into one
-
not-found-error
Convert Option to Result using convenient functions
-
teleparse
-
rp-postgrest-error
strongly typed errors for PostgREST
-
rempl
creating html components directly in your source
-
glam-traits
Traits for the vectors in glam
-
thiserror-ext
Useful extension utilities for
thiserror
-
ra_ap_hir_expand
Macro expansion for rust-analyzer
-
tighterror
A minimalistic error representation framework
-
derive-insert
GetOrInsert
trait for enums and its derive macro -
io-enum
#[derive(Read, Write, Seek, BufRead)] for enums
-
mvutils
made from commonly used functions in my projects
-
portaldi
An ergonomic lightweight compile-time depencency injection library
-
heart
Hypermedia-based web development of the 1990 future!
-
string_more
Extension traits for
String
and&str
types -
static_file_util
generating and managing static files in Rust applications
-
simple_parse
A declarative converter for Rust type to and from binary
-
derive-alias
Alias multiple derives as one
-
slice_map
A generic container to store a single type of data into unevenly sized slices
-
xwt-error
A suite of reusable error types that naturally emerge from the xwt API. Use when you don't want/need your own more precise types
-
is-odd
Returns true if the given number is odd
-
scout-parser
A web crawling programming language
-
custom_derive
(Note: superseded by
macro-attr
) This crate provides a macro that enables the use of custom derive attributes -
enum_ext
procedural macro that enhances enums with additional methods and conversions
-
rngstr
A cli tool for generating random strings of characters with customization options and a small domain specific language
-
simple-logging
logger for the log facade
-
oco_ref
A smart pointer for storing immutable values with relatively-cheap cloning. (Like a
Cow
meets anRc
!) -
oxidd-rules-bdd
Binary decision diagrams (BDDs) for OxiDD
-
tf2-sku
SKU parser for Team Fortress 2 items
-
iter-index
More flexible alternative to Iterator's enumerate() method
-
enumerable
helping you to enumerate all possible values of a type
-
soa_derive
Automatic Struct of Array generation
-
snowflaked
creating and working with snowflake ids
-
deltoid
calculate and apply deltas to structs and enums
-
nonzero_ext
Extensions and additional traits for non-zero integer types
-
copstr
COpy STRing module
-
visibility
Attribute to override the visibility of items (useful in conjunction with cfg_attr)
-
plain_hasher
Hasher for 32-byte keys
-
maybe-single
A singleton. Maybe.
-
take-until
A take_until extension for iterators
-
aquamarine-demo-crate
A demo crate for aquamarine -- the mermaid.js integration for rustdoc
-
command-macros
Macros for creating std::process::Command with shell-like syntax
-
openapi_type
OpenAPI type information for Rust structs and enums
-
separator
Formats numbers into strings with thousands separators for readability
-
native_api_1c
Main library for Native API 1C
-
jomy-ap-rustc_type_ir
Automatically published version of the package
rustc_type_ir
in the rust-lang/rust repository from version 1.83.0 The publishing script for this crate lives at: https://github.com/rust-analyzer/rustc-auto-publish -
guard
Macro implementation of RFC 1303: a guard-let-else statement a la Swift
-
as-is
An abstraction over ownership
-
partially
Partial trait, and an optional macro to mirror a struct, wrapping each field in an Option
-
processmanager
manage process lifecycles, graceful shutdown and process faults
-
pyo3-error
Unified error causality chains across Rust and Python
-
compare_version
comparing semantic versioning strings and checking version compatibility
-
coi
Dependency Injection library
-
axum-openapi3
Facilitate the generation of OpenAPI 3.0 documentation for axum applications
-
sparkles
Capture execution flow of your Rust application with CPU cycle precision!
-
binf
that adds utilities for dealing with binary flags
-
wx-core
微信数据解析工具
-
cplex-rs
Binding of IBM Cplex library
-
niloecl
axum handler pattern for twilight interactions
-
sod-actix-web
Service Oriented Design - Actix Web
-
elicit
SmartPointer-like structure for polymorphism
-
pgde
A macro library for consuming PostgreSQL row data into structs
-
indicator
Abstractions for stream aggregation, we call them
Indicator
s -
derive_generic_visitor
Boilerplate for building rust visitors
-
cowstr
Copy-on-Write shared strings
-
tevec
provide quantitative analysis functions for vec | ndarray | polars backend
-
commonware-consensus
Order opaque messages in a Byzantine environment
-
cgp-async
Async-generic primitives to support both sync/async in context-generic programming
-
ty-tag
TypeId for lifetime containing types via type tags
-
size-of-trait
determine the size of a future or trait impl at compile time
-
mode
A behavioral state machine library written in Rust
-
panic-message
Get a panic message from a panic payload
-
display_full_error
Minimal display formatter for error chains
-
nade
Adding named and default arguments to Rust functions
-
libabort
A abort function that doesn't require the standard library
-
async-iterator
An async version of iterator
-
game_inventory
An inventory system independant of item data
-
test_help-rs
Test helpers for Rust
-
bignumbe-rs
Large, medium-precision numbers
-
install-dirs
handling gnu install directories in rust
-
tagged-id
A zero-cost wrapper adding type-safety to resource identifiers
-
assume
Macro for stating unsafe assumptions in Rust
-
duplicate_macrotest
Fork of the macrotest crate specifically to test the duplicate crate
-
dyn_std
Dynamic (object-safe) version of std traits
-
slippery-iter
Easy to use abstinential (slippery), N-peekable and rewindable wrapper over an iterator. (Nightly Rust)
-
deriving_via
DerivingVia
-
unwind-context
Macro to add colored panic context to your functions
-
anyerror
A type of any error for transport
-
serde_table
Write structs in an easy table format
-
smol_buf
small-string optimized string / buffer type with O(1) clone
-
crony
cron runner that spawns another thread to run your cron jobs
-
stupid_utils
that provides some simple and maybe stupid or useful tools
-
string_capacity
Moved to capacity_builder
-
flatty-portable
Flatty portable trait and primitives
-
swamp-script-derive-tests
tests for swamp macro
-
ty_map_gen
A type projecting map generator
-
ex_em_ell
Provide macros for serializing and deserializing XML
-
iterstats
Statistics for rust iterators
-
precomputed-hash
intending to be a base dependency to expose a precomputed hash
-
unwrap-ord
Wrapper type to easily convert Ord to PartialOrd. inspired by std::cmp::Reverse
-
corlib
A various ideas library
-
borrow-or-share
Traits for either borrowing or sharing data
-
convert_traits
Define your own conversion traits to solve the problem of converting two external types without using new types
-
ux2
Non-standard integer types like
u7
,u9
,u10
,u63
,i7
,i9
etc -
iderive
Drop-in replacement for derive that doesn't directly depend on generic bounds
-
ssi-di-sd-primitives
Selective Disclosure primitive for Data-Integrity suites
-
miden-thiserror
derive(Error) with no-std support
-
conv
number of conversion traits with more specific semantics than those provided by 'as' or 'From'/'Into'
-
transitive
derive macros for Rust
-
should
Postfix assertion library for Rust
-
calibrator
methods for calibration of scalar and vector measurement systems
-
culprit
error crate with the goal of identifying precisely where and in which context an error occurs
-
advancedresearch-path_iter
A cocategory enumeration library based on path semantics
-
hexchat-plugin
Lets you write HexChat plugins in Rust
-
heap-array
variable length array, with its main benefit over
Vec
is taking up less space -
more-itertools
python more-itertools
-
sodium
FRP (Functional Reactive Programming)
-
db
ergonomic and precise error handling built atop type-level set arithmetic
-
pipe-trait
possible to chain regular functions
-
airbag
handling errors and panics using 3rd party services
-
vsprintf
Rust bindings to the libc vsprintf function
-
opaque_typedef
Supports defining opaque typedefs
-
suika_mime
handling MIME types in the suika web stack
-
suitest
quality of life test suites
-
width_counters
Atomic counters with variable bit widths and customizable atomic ordering
-
const_fn
A lightweight attribute for easy generation of const functions with conditional compilations
-
convi
Convenient (but safe) conversion (
From
-like) traits -
flexi_func_declarative
exposes the fb! macro to create a function with a flexible signature
-
soapy
Structure-of-arrays derive macro
-
quick-error
A macro which makes error types pleasant to write
-
bash-builtins
implement loadable builtins for bash
-
home-prelude
Prelude library to support home applications
-
any-fn
Dynamically-typed functions to represent any functions in Rust
-
rawpointer
Extra methods for raw pointers and
NonNull<T>
. For example.post_inc()
and.pre_dec()
(c.f.ptr++
and--ptr
),offset
andadd
forNonNull<T>
, and the functionptrdistance
. -
set_derive
Using Macros to Implement List comprehension Similar to Python Language
-
uints
Unsigned Integer Properties
-
random_variant
To be used with all variant, contains the derive macro
-
nanotweaks
moved to https://crates.io/crates/spread_macros
-
iterator-sorted
Stable functions for checking iterator sorting
-
sqler
way for writing SQL queries using some of Rust syntax
-
ref-ops
An escape hatch for implementing
ops
traits for references to newtypes -
traitreg
Create a registry of implementations of a trait
-
envsubst
Variables substitution
-
tuple_utils
A set of utilities to enable higher level operations over tuples
-
nolife
open a scope and then freeze it in time for future access
-
captur
Macro to capture whole structs from disjoint fields in a closure
-
sbpf-asm-macros
Ergonomic macros for low-level sBPF ASM functionality
-
pretty-error-debug
If the process ends with an
Error
, write out theError
message and chain -
plectrum
An easy way to represent lookup tables in a db as rust enums
-
clamp_to
Clamp integer and float values to the values that fit within both the original number type and the receiving type
-
defer-heavy
A versatile and easy to use defer statement for Rust. Similar to Go's or Zig's defer.
-
cubob
Structured output helpers for display mode
-
capture-it
Modern c++-ish capture syntax for rust
-
tri_ton
A Macro for Handling Exceptions
-
ubits
Bit fields and masks
-
easy-error
error utilities
-
portrait
Fills an
impl
with the associated items required by the trait -
mago-typing
basic type inference for PHP code, deducing variable and return types to assist in static analysis and automated tooling
-
cprint
Cargo-like print
-
benri
Convenient macros wrapping the standard library
-
prima_bridge
implement the bridge pattern
-
exhaustive
The trait for generating all values of a type, and a property-based test macro
-
concat-in-place
Efficient macros for concatenation of strings and vectors
-
gazebo
A collection of well-tested utilities
-
bogdan_hello_macro
adds the method hello_macro that generates a greeting based on the name of the struct
-
deno-bindgen2
An FFI bindings generator for Deno
-
ointers
What do you call a pointer we stole the high bits off? An ointer
-
sumtype
Generate zerocost sumtype of iterators or closures
-
htmlm
html macro with no dependencies
-
hs-bindgen
Handy macro to generate C-FFI bindings to Rust for Haskell
-
abcgen
A procedural macro to generate boilerplate code for objects implementing the 'Actor' pattern
-
genrc
refcounted pointer type that allows subobject pointers
-
shorter-bounds
Write shorter bounds with a trait alias macro
-
chainerror
Make chaining errors easy
-
combin-iterator
Some usefull facilities for combining iterators
-
fixed-type-id
Make your types have a fixed type id&stable type name with version support between different builds
-
rustrix
Supports macro and basic operations for matrix
-
digitize
Traits for accessing digits of primitive integers & floats
-
assert-eq-float
assert_eq_float!
macros that support floats -
sign-bound
Layout-optimized positive and negative integers
-
nnn
Generate your newtypes from a single macro
-
no-break
Typesafe extraction of continuation values from unbreakable control flows
-
deep_safe_drop
Safe dropping of deep trees that otherwise could cause stack overflow
-
syllogism
allow for some specialization using stable Rust
-
forward_ref
Rust's forward_ref_* macros for easier implementation of operator overloading
-
procc-ll
processor of tokens for rust
-
labview-interop
Types and wrappers for interperating with LabVIEW when called as a library
-
oc-hook-macros
Some convenient macros for hooking Objective-C functions
-
fiberplane-pdk
Fiberplane Provider Development Kit
-
enum_handler
A macro to generate a handler trait for enums variants
-
func
that helps creating colsures from function pointers
-
hax-lib
Hax-specific helpers for Rust programs
-
jkcenum
Rust enum library
-
primitive-from-enum
macros for get primitive enum from complex
-
gh-workflow-tailcall
macros for gh-workflow
-
lichen
Scripting DSL (for Dialogue Graphs, et al)
-
error_mapper
standardized Results and Errors handling accross all your projects
-
map
map!
macro andmap_insert!
macro, to create a HashMap collection and insert key-value pairs. Inspired by thevec!
macro. -
c8str
String types that are both utf-8 and null terminated
-
macro-bits
performing macro-based bit manipulation
-
chasa
A parser combinator with
many
taking iterator, conditional branching, and method chain -
struct-metadata
Macros for attaching metadata to structs
-
scratchstack-aws-principal
Principal types for AWS/AWS-like services
-
lazy_mut
structure that can be used to lazily initialized values as well as a macro for creating lazy variables
-
maelstrom-worker-child
Helper library for maelstrom-worker
-
tuple_split
An extension for the tupleops crate which adds a trait for splitting tuples
-
shadow_counted
An iterator that counts every iteration in a hidden counter, nested iterators may commit the count to parents
-
easy_node
Smart pointer for graph nodes
-
dims_macro
Macros for Generating Systems of Units
-
monadic
macros to define Haskell style monadic action blocks for IntoIterators, Reader, Writer, State, and macros for the transformers ReaderT and WriterT over Vec, LinkedList and VecDeque
-
tracked
A stringly-typed Error that includes
#[track_caller]
information -
dilib
A dependency injection library for Rust
-
noco
no code, no problem
-
cve-rs
Blazingly fast memory vulnerabilities, written in 100% safe Rust
-
pyderive
Derive macro of Python special methods and a class attributes for PyO3
-
newstr
macros for declaring String-base new types
-
liecs
The ECS library that nw-engine uses
-
zerror_full
macro for implementing helpful errors
-
ref_iter
Dynamic borrowing iterator
-
bitbag
A useful struct for dealing with bit flags
-
pyo3_special_method_derive
Automatically derive Python dunder methods for your Rust code
-
cast_checks
A procedural macro to check for invalid casts
-
oberst
A type-safe command parser and dispatcher inspired by Brigadier and written in Rust
-
ez_jni
Macros and functions that make using Java in rust feel natural
-
enumeration
An extension to rust enum
-
px-wsdom-macros-decl
wsdom crate
-
const-type-layout
Derivable const trait to view and compare the layout of a struct, union, or enum
-
commonware-utils
Leverage common functionality across multiple primitives
-
table_enum
A convenient rust macro to create enums with associated constant data (note: this is different from normal rust enums which are really tagged unions)
-
accountable-refcell
A RefCell wrapper that provides actionable information for dynamic borrow failures
-
cloudformatious
Extension traits for rusoto_cloudformation
-
fuck-backslash
replace the backslash with slash in-place in your PathBuf
-
hello-world-in-rust
Hello World!
-
partial_application
partial function application via the partial! macro
-
pad-adapter
that provides pad adapter
-
tacit
macro to make newtypes easier to create
-
superstruct
Versioned data types with minimal boilerplate
-
dynarg
mechanism for dynamic robust argument handling
-
fx-callback
A subscription based callback to inform subscribers about relevant data events within structs
-
fcitx5-dbus
fcitx5 dbus interface for rust
-
checked-float
making invariant-enforcing floating point wrappers
-
genmesh
A package for generating 3D meshes
-
univec
A vector that can hold elements of any single type
-
python-packaging
Python packaging primitives implemented in Rust
-
sudo_plugin
Macros to easily write custom sudo plugins
-
re_error
Helpers for handling errors
-
accursed-unutterable-type-id
A worse version of std::any::TypeId
-
range_checker
derive-macro crate aimed to provide declarative bounds checking and filtering for structure
-
panic-analyzer
an audit tool to scan your crate or workspace searching for potential panic points in your codebase
-
nil
Noxmore's Ixperimental Lutilities
-
xmacro_lib
macro engine for producing multiple expansions
-
bit_roles
Granular role management based on bit flags
-
overloaded_literals
Overloaded Literals to construct your datatypes without boilerplate and with compile-time validation
-
shelter
ROP-based sleep obfuscation to evade memory scanners
-
token-ref-cell
Interior mutability cell using an external token to synchronize accesses
-
scoped_thread_local
Highly flexible Scoped thread local with HKT builtin
-
maybe-borrow
Macros for conditionally returning borrowed data
-
rustdoc-prettier
Format //! and /// comments with prettier
-
git-ref-format
Everything you never knew you wanted for handling git ref names
-
nanvm-lib
NaNVM library
-
cifg
A macro for defining #[cfg] if/else blocks; alternate to cfg-if
-
esync
This package contains some useful synchronization primitives
-
typestate
A proc macro DSL for typestates
-
restructed
Quickly derive subsets of your structs
-
vtid
generating volatile type IDs
-
rco_utils
Shared functions for "Remote Code Execution"'s (RCO's) binaries
-
ltptr
Checked raw pointers
-
mini-macro-magic
Export tokens to other modules and crates. Now with 100% less proc macros!
-
match_cfg
A convenience macro to ergonomically define an item depending on a large number of
#[cfg]
parameters. Structured like match statement, the first matching branch is the item that gets emitted. -
fast-concat
Fastest macro for concatenating strings
-
fast_delegate
delegate struct easy
-
loop-let
An immutable loop structure that can be used as an expression
-
carboxyl
functional reactive programming
-
vebex
that provides procedural macros for creating regular expressions in a verbose and readable way
-
fixedstr-ext
A fork of fixedstr, which add more const functions to it
-
supply-chain-trust-example-crate-000055
Flexible concrete Error type built on std::error::Error
-
stackbox
&own
ing references in stable Rust - no_std-friendly Box -
typeables
type aliases. By SixArm.com.
-
iced_af
The iced application framework project
-
saturating_add_assign
Convenience macro for AddAssign with saturating arithmetic
-
namewise
Derived trivial name-wise conversions for Rust types
-
named-tup
Create named tuples using the tup!() macro
-
add_macro
more additional macros to help you write code faster!
-
some_crate
If you just need a crate that's guaranteed(*) to do practically nothing
-
cooked-waker
A safe interface for creating async Wakers
-
isclose
A collection of trait and macros for comparing approximate equality
-
cmdstruct
A lightweight macro for implementing commands with a struct
-
binmarshal
Pack and unpack structs and enums into and out of binary data streams
-
tear
Typed early returns and loop control + Syntax sugar for try!-like error handling
-
test_eq
assert_eq!-like macros that return a Result instead
-
inherent
Make trait methods callable without the trait in scope
-
portable-io
“ A subset of Rust
std::io
functionality supported forno-std
-
declarative_enum_dispatch
Declarative macro generating boilerplate for enum dispatch
-
declarative_type_state
A collection of declarative macros to reduce boilerplate code when implementing type-state patterns
-
rtoolbox
functions for other crates, no backwards compatibility guarantees
-
fluent-string
Fluent versions of String mutation methods
-
clap-doc
Create markdown descriptions for
clap::Command
s -
awint_macro_internals
Internal macro utilities for the
awint
system of crates -
macro-stateful
help record state in a global scope
-
io-arrays
Random-access I/O
-
arc_macro
A macro wrapper around Arc::new() for convenience
-
bty
Streamlined definition and usage of branded types in Rust
-
yukon
trait for the ability to cheaply duplicate an object
-
jomy-ap-rustc_span
Automatically published version of the package
rustc_span
in the rust-lang/rust repository from version 1.83.0 The publishing script for this crate lives at: https://github.com/rust-analyzer/rustc-auto-publish -
unwrap_or
Four easy unwrap Result and Option macros that allow for any inline-scoped code for things like return, continue, and break
-
sddl
parse and analyse SDDL Strings
-
degeneric-macros
Hides struct generics into trait associated types
-
log_limit
A rate limiting logging crate
-
iter_fixed
Iterator of fixed length
-
string_error_wrap
providing a macro for an error type wrapping a String
-
pin-macros
primarly used to simplify the proccess of working with self-referencial structures
-
wiwiwiwiwiwiwiwiwiwi
declarative macros for wiwi, a library, of, Stuff™ (implementation detail; do not depend on this crate directly)
-
methods-enum
Two macros for easy implementation of 'state' design pattern and other dynamic polymorphism using enum instead of dyn Trait
-
quickbits
Fast bit manipulation routines for Rust's native integer types
-
gravitron_macro_utils
Gravitron's Macro Utils
-
interning
Thread-Lcoal and Global Interning Library
-
has-some
The opposite of is_empty (and is_empty for filters)
-
enumcapsulate
Safe casting for newtype enums and their variants
-
iter-progress
Calculate progress of your iterators
-
arkui-sys
Bindings to the native ArkUI API of OpenHarmony
-
err-rs
Error level management
-
lebe
Tiny, dead simple, high performance endianness conversions with a generic API
-
conerror
macro that automatically adds context to errors
-
unzip_iter
Unzip an iterator to iterators
-
static_assertions_next
Compile-time assertions to ensure that invariants are met
-
asm_block
Translate tokens to string for Rust inline assembly
-
enum_downcast
Safe downcasting for enums
-
air-macros
Macros for the TNJ Assembly Intermediate Representation (AIR)
-
dddk_core
Tactical DDD framework based on command_bus, event_bus and query_bus. It offers annex feature such as authorization, logging ...
-
prepeek
Peekable iterators without mutation
-
gobble
A Combinator based parser for strings that gets out of the way, and leaves your code looking like a grammer
-
terra-items
enum contatining terraria items and prefixes
-
okapi-response-mac
A macro for creating response code based on responses structs rather than typing and implementing OkapiRocketResponseInner manually
-
cstr-argument
A trait for converting function arguments to null terminated strings
-
kernelx
𐲕
-
kittycad-execution-plan
A DSL for composing KittyCAD API queries
-
scan-rules
some macros for quickly parsing values out of text. Roughly speaking, it does the inverse of the print!/format! macros; or, in other words, a similar job to scanf from C.
-
gerber-types
Types and code generation for Gerber files (RS-274X)
-
lazyinit
Initialize a static value lazily
-
std-next
Opinionated utilities and polyfills
-
grouping_by
allows the user to group an iterator by various ways
-
holder
getter setter auto gen with holder trait
-
materially
A macro for material implication
-
gull
type generation
-
aws-lib
Helper functions and types for AWS operations
-
fmu_from_struct
A derive macro for automatically setting up FMU models in Rust
-
type-variance
Marker traits for subtype variance
-
stub-macro
stub!() is a better version of todo!() that can be assigned to a variable
-
with_builtin_macros
Helper for macro_rules authors to chain their macros with builtin ones (such as
env!
,include!
, orconcat_idents!
) -
these
A three-way enum capturing This, That, or Both. Inspired by the Haskell package https://hackage.haskell.org/package/these
-
never-say-never
The never type (the true one!) in stable Rust
-
os-thread-local
OS-backed thread-local storage. This crate provides a
ThreadLocal
type as an alternative tostd::thread_local!
that allows per-object thread-local storage, while providing a similar API… -
taker
Option-like taking for everyting with a default value
-
display_with
Return opaque impl Display and/or impl Debug types via display_with and debug_with