-
bitflags
A macro to generate structures which behave like bitflags
-
thiserror
derive(Error)
-
itertools
Extra iterator adaptors, iterator methods, free functions, and macros
-
anyhow
Flexible concrete Error type built on std::error::Error
-
derive_more
Adds #[derive(x)] macros for more traits
-
predicates
boolean-valued predicate functions
-
miette
Fancy diagnostic reporting library and protocol for us mere mortals who aren't compiler hackers
-
once_cell
Single assignment cells and lazy values
-
num
A collection of numeric types and traits for Rust, including bigint, complex, rational, range iterators, generic integers, and more!
-
async-stream
Asynchronous streams using async & await notation
-
lazy_static
A macro for declaring lazily evaluated statics in Rust
-
ordered-float
Wrappers for total ordering on floats
-
derive_builder
Rust macro to automatically implement the builder pattern for arbitrary structs
-
validator
Common validation functions (email, url, length, …) and trait - to be used with
validator_derive
-
bytes
Types and traits for working with bytes
-
num_enum
Procedural macros to make inter-operation between primitives and enums easier
-
darling
A proc-macro library for reading attributes into structs when implementing custom derives
-
eyre
Flexible concrete Error Reporting type built on std::error::Error with customizable Reports
-
downcast-rs
Trait object downcasting support using only safe Rust. It supports type parameters, associated types, and type constraints.
-
human-panic
Panic messages for humans
-
snafu
An ergonomic error handling library
-
typed-builder
Compile-time type-checked builder derive
-
rustlings
Small exercises to get you used to reading and writing Rust code!
-
dyn-clone
Clone trait that is object-safe
-
smol_str
small-string optimized string type with O(1) clone
-
similar-asserts
assert_eq! like macros with colorized diff output
-
approx
Approximate floating point equality comparisons and assertions
-
frunk
developers with a number of functional programming tools like HList, Coproduct, Generic, LabelledGeneric, Validated, Monoid, Semigroup and friends
-
pin-project-lite
A lightweight version of pin-project written with declarative macros
-
memoffset
offset_of functionality for Rust structs
-
bon
Next-gen compile-time-checked builder generator, named function's arguments, and more!
-
enum-iterator
Tools to iterate over all values of a type (e.g. all variants of an enumeration)
-
static_assertions
Compile-time assertions to ensure that invariants are met
-
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… -
self_cell
Safe-to-use proc-macro-free self-referential structs in stable Rust
-
compiler_builtins
Compiler intrinsics used by the Rust compiler. Also available for other targets if necessary!
-
macro_rules_attribute
Use declarative macros in attribute or derive position
-
ouroboros
Easy, safe self-referential struct generation
-
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.
-
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
-
backon
Make retry like a built-in feature provided by Rust
-
float-cmp
Floating point approximate comparison traits
-
arrayref
Macros to take array references of slices
-
extendr-api
Safe and user friendly bindings to the R programming language
-
beef
More compact Cow
-
more-asserts
Small library providing additional assert_* and debug_assert_* macros
-
ref-cast
Safely cast &T to &U where the struct U contains a single field of type T
-
tap
Generic extensions for tapping values in Rust
-
decorum
Total ordering, equivalence, hashing, and constraints for floating-point types
-
nonempty
Correct by construction non-empty vector
-
error-stack
A context-aware error-handling library that supports arbitrary attached user data
-
new_debug_unreachable
panic in debug, intrinsics::unreachable() in release (fork of debug_unreachable)
-
cmd_lib
Common rust commandline macros and utils, to write shell script like tasks easily
-
amplify
Amplifying Rust language capabilities: multiple generic trait implementations, type wrappers, derive macros
-
az
Casts and checked casts
-
castaway
Safe, zero-cost downcasting for limited compile-time specialization
-
cfg_aliases
A tiny utility to help save you a lot of effort with long winded
#[cfg()]
checks -
if_chain
Macro for writing nested
if let
expressions -
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 -
trie-db
Merkle-Patricia Trie generic over key hasher and node encoding
-
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
-
rustdoc-types
Types for rustdoc's json output
-
nutype
The newtype with guarantees
-
assertables
assert macros for better testing, debugging, quality assurance, and runtime reliability
-
index_vec
Newtype-style helpers for
Vec
andusize
-
flagset
Data types and a macro for generating enumeration-based bit flags
-
safer-ffi
Write safer FFI code in Rust without polluting it with unsafe code
-
pact_consumer
Pact-Rust module that provides support for writing consumer pact tests
-
polonius-the-crab
Tools to feature more lenient Polonius-based borrow-checker patterns in stable Rust
-
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… -
replace_with
Temporarily take ownership of a value at a mutable location, and replace it with a new value based on the old one
-
sptr
Strict Provenance Polyfill
-
inventory
Typed distributed plugin registration
-
abi_stable
For doing Rust-to-Rust ffi,writing libraries loaded at program startup
-
opaque-debug
Macro for opaque Debug trait implementation
-
jaq-std
Standard library for jaq
-
dlib
Helper macros for handling manually loading optional system libraries
-
constcat
concat! with support for const variables and expressions
-
konst
Const equivalents of std functions, compile-time comparison, and parsing
-
stdext
Extensions for the Rust standard library structures
-
derive-where
Deriving with custom trait bounds
-
async-once-cell
Async single assignment cells and lazy values
-
extism-pdk
Extism Plug-in Development Kit (PDK) for Rust
-
unwinding
in Rust and for Rust
-
float-ord
A total ordering for floating-point numbers
-
auto_impl
Automatically implement traits for common smart pointers and closures
-
volatile
wrapper types for raw pointers
-
parse-display
Procedural macro to implement Display and FromStr using common settings
-
writeable
A more efficient alternative to fmt::Display
-
async-trait
Type erasure for async trait methods
-
fixedstr
strings of constant maximum size that can be copied and stack allocated using const generics
-
fallible-iterator
Fallible iterator traits
-
byte-slice-cast
Safely cast bytes slices from/to slices of built-in fundamental numeric types
-
fallible_collections
adds fallible allocation api to std collections
-
buffered-reader
A super-powered Reader
-
color-eyre
An error report handler for panics and eyre::Reports for colorful, consistent, and well formatted error reports for all kinds of errors
-
lazy_format
lazily formatting values for later
-
aws-smithy-types-convert
Conversion of types from aws-smithy-types to other libraries
-
testresult
type for concise and precise test failures
-
recursion
cache-aware stack safe recursion
-
bounded-integer
Bounded integers
-
tuples
many useful tools related to tuples
-
iter-read
A Read implementation for iterators over u8 and related types
-
educe
offers procedural macros designed to facilitate the swift implementation of Rust's built-in traits
-
terrors
ergonomic and precise error handling built atop type-level set arithmetic
-
static_init
Safe mutable static and non const static initialization, and code execution at program startup/exit
-
field-offset
Safe pointer-to-member implementation
-
maplit
Collection “literal” macros for HashMap, HashSet, BTreeMap, and BTreeSet
-
retry
retrying operations that can fail
-
rustler
Safe Rust wrappers for creating Erlang NIF functions
-
virtue
A sinless derive macro helper
-
by_address
Wrapper for comparing and hashing pointers by address
-
bounded-collections
Bounded types and their supporting traits
-
tynm
Returns type names in shorter form
-
cascade
Dart-like cascade macro for Rust
-
typewit
type-witness-based abstractions, mostly for emulating polymorphism in const fns
-
inout
Custom reference types for code generic over in-place and buffer-to-buffer modes of operation
-
fix-hidden-lifetime-bug
Proc-macro to write an automatic fix for the "hidden lifetime in impl Trait" issue
-
fatality
extension to
thiserror::Error
-
iri-string
IRI as string types
-
internal-iterator
Internal iteration equivalent of
std::iter::Iterator
-
tryhard
Easily retry futures
-
const-gen
generating (relatively) complex compile-time constants in rust
-
error-code
Error code
-
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… -
indoc
Indented document literals
-
retour
A cross-platform detour library written in Rust
-
chalk-ir
Chalk's internal representation of types, goals, and clauses
-
psm
Portable Stack Manipulation: stack manipulation and introspection routines
-
pinned-init
facilitate safe pinned initialization
-
bounded-vec
Non-empty rust Vec wrapper with type guarantees on lower and upper bounds for items quantity
-
log-once
Collection of helper macros for logging some events only once
-
thiserror-no-std
derive(Error)
-
mirai-annotations
Macros that provide source code annotations for MIRAI
-
flex-error
Flexible error definitions using macros and traits
-
safe-transmute
A safeguarded transmute() for Rust
-
pyo3-polars
Expression plugins and PyO3 types for polars
-
tor-error
unified type-erased error type returned by many (esp. high-level) Tor APIs.
-
maybe-owned
MaybeOwned
(andMaybeOwnedMut
) type similar to std’sCow
but it implementsFrom<T>
andFrom<&'a T>
and does not requireToOwned
-
bounded-static
Defines the ToBoundedStatic and IntoBoundedStatic traits
-
rustrict
profanity filter for Rust
-
st-map
Runtime for a stack-alocated map
-
shaku
Compile Time Dependency Injection for Rust
-
from
A procedural macro that generates custom parsing and validation code
-
fragile
wrapper types for sending non-send values to other threads
-
arr_macro
Initialize arrays with ease!
-
tuplex
Rust tuple extension
-
strck
Checked owned and borrowed strings
-
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…
-
lender
A lending-iterator trait based on higher-rank trait bounds, with full std::iter::Iterator functionality
-
elain
Set a type's minimum alignment with const generics
-
autosurgeon
working with data in automerge documents
-
implicit-clone
Immutable types and ImplicitClone trait similar to Copy
-
shopify_function
write Shopify Functions in Rust
-
moveit
safe, in-place construction of Rust (and C++!) objects
-
nshare
Conversion between n-dimensional types in different Rust crates
-
calendrical_calculations
Calendrical calculations in Rust
-
lazycell
providing a lazily filled Cell struct
-
k8-client
Core Kubernetes metadata traits
-
bit_field
bit field trait providing get_bit, get_bits, set_bit, and set_bits methods for Rust's integral types
-
rust-fsm
A framework and a DSL for building finite state machines in Rust
-
socketpair
Cross-platform socketpair functionality
-
tstr
Type-level strings
-
ra_ap_mbe
Handling of
macro_rules
macros for rust-analyzer -
joinery
A small crate for generically joining iterators with a separator
-
anymap3
A safe and convenient store for one value of each type
-
display-error-chain
Formats a standard error and its sources
-
conjure-object
Runtime support for generated Conjure objects
-
try_match
Fallible pattern matching with a function-like syntax
-
o2o
Object to Object mapper for Rust. Derive '(Try)From' and '(Try)Into' traits.
-
servo_arc
A fork of std::sync::Arc with some extra functionality and without weak references
-
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. -
refined_type
imbuing rules into types and elevating them to more robust types
-
advent-of-code
Solutions to Advent of Code
-
overload
macro to simplify operator overloading
-
parsel
Zero-code parser generation by using AST node types as the grammar
-
cl-format
Use Common Lisp format 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 -
aoc-parse
A little library for parsing your Advent of Code puzzle input
-
thiserror-core
derive(Error)
-
void
The uninhabited void type for use in statically impossible cases
-
miden-miette
Fancy diagnostic reporting library and protocol for us mere mortals who aren't compiler hackers
-
mirror-mirror
Reflection library for Rust
-
with_locals
Function attribute to return references to locals by using CPS
-
reborrow
Emulate reborrowing for user types
-
sealed
Macro for sealing traits and structures
-
octseq
Abstractions for types representing octet sequences
-
as-any
provide the AsAny trait
-
better_scoped_tls
scoped-tls, but with good error message
-
version-sync
ensuring that version numbers in README files and other files are kept in sync with the crate version
-
extend
Create extensions for types you don't own with extension traits but without the boilerplate
-
funty
Trait generalization over the primitive types
-
macon
builder macro-based generator with its own idioms
-
documented
Derive and attribute macros for accessing your type's documentation at runtime
-
cap-std-ext
Extension APIs for cap-std
-
myutil
Rust Util Collections
-
culpa
error-handling syntax in Rust
-
libc-print
println! and eprintln! macros on libc without stdlib
-
timely_bytes
Disjoint mutable byte slices from a common allocation
-
lowdash
A Lodash inspired utility library to manipulate array and object
-
zoet
Adds
#[zoet]
macro to reduce boilerplate when implementing common traits -
concat-with
Extend the function of the
concat!
macro instd
-
random-number
Generate random numbers quickly
-
hax-frontend-exporter-options
The options the
hax-frontend-exporter
crate is sensible to -
tor-basic-utils
General helpers used by Tor
-
mitsein
Strongly typed APIs for non-empty collections, slices, and iterators
-
formatx
A macro for formatting non literal strings at runtime
-
rustversion
Conditional compilation according to rustc compiler version
-
buildstructor
Macro to derive a builder from a constructor function
-
data-rw
io buffer write reader
-
generics
macros for parsing generics (with optional where clause) in
macro_rules!
-
fn_vm
A lightweight frame based virtual machine, meant as the base for rigz_vm
-
doc-comment
Macro to generate doc comments
-
qualifier_attr
Procedural macro attributes for adding "qualifiers" (pub, async, unsafe, const, extern "C", ...) to various items
-
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.
-
copyless
Ways to eliminate memcpy calls when using the standard library
-
fixed-hash
Macros to define custom fixed-size hash types
-
bool_ext
defines and implements a complete set of
Option
/Result
-style Boolean functional combinators on Rust’sbool
primitive type -
conflate
Merge multiple values into one
-
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… -
devise
devising derives and other procedural macros
-
dync
An efficient alternative to
dyn Trait
for containerized types -
condtype
Choose types at compile-time via boolean constants
-
doku
A framework for documenting Rust data structures
-
iterate-trait
Experiment with methods on IntoIterator
-
rust_info
Extracts the current rust compiler information
-
dispose
wrapper for values that must be consumed on drop
-
open-enum
An attribute for generating "open" fieldless enums, those that accept any integer value, by using a newtype struct and associated constants
-
i_float
This fixed float math library provides an efficient and deterministic solution for arithmetic and geometric operations
-
deno_error
Error representation to JavaScript for deno
-
oxc_index
Newtype-style helpers for
Vec
andusize
-
const-field-offset
Wrapper around field-offset crate and const-field-offset-macro
-
sugars
An useful collection of macros to make tasks easier
-
autofolder
Single-element folding wrapper
-
fmt2io
A bridge between std::io::Write and std::fmt::Write
-
exhaust
Trait and derive macro for working with all possible values of a type (exhaustive enumeration)
-
easy-cast
Type conversions which are expected to succeed
-
phantom-type
A
PhantomData
analog which prevents “parameter is never used” error, but does not produce any restrictions in contrast withPhantomData
-
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.
-
raw-parts
Ergonomic wrapper around
Vec::from_raw_parts
andVec::into_raw_parts
-
ungrammar
A DSL for describing concrete syntax trees
-
swipl
A high-level library for building SWI-Prolog extensions and embedding SWI-Prolog in rust applications
-
lazy_errors
Effortlessly create, group, and nest arbitrary errors, and defer error handling ergonomically
-
wiwi
Stuff™
-
andex
Safe, strongly typed array indexes and wrappers for rust with zero dependencies
-
resiter
Helper crate for handling iterators over result
-
trybuild-internals-api
A fork of trybuild with the internals exposed as a public API
-
entrait
Loosely coupled Rust application design made easy
-
munge
Macro for custom destructuring
-
semval
Semantic validation
-
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.
-
heterob
conversion between bytes/bits and heterogeneous lists (tuples)
-
psl-types
Common types for the public suffix implementation crates
-
nunny
the definitive non-empty slice/array/vec library for Rust
-
copy_from_str
An extension trait to copy a string into another string
-
lending-iterator
Fully general lending iterators in stable rust: windows_mut!
-
capnp_conv
capnp write/read traits to convert from structs to readers/builders
-
comfy-bounded-ints
Bounded-integer types focused on ergonomics and safety. (See README.md)
-
wmlua
-
blanket
macro to derive blanket implementations for your traits
-
more-di
support for dependency injection (DI)
-
TSPL
The Simplest Parser Library
-
k8s-openapi-codegen-common
Common code for the k8s-openapi code generator and k8s-openapi-derive
-
custom_error
Define custom errors without boilerplate using the custom_error! macro
-
macro-asm-builder
macro-assemblers
-
smarterr
Smart error handling library
-
one_err
OneErr to rule them all
-
scaffolding-core
A software development kit that provides the scaffolding for building applications and services using OOP
-
vitasdk-sys
Raw bindings to vitasdk
-
globals
Painless global variables in Rust
-
aerosol
dependency injection for Rust
-
heart
Hypermedia-based web development of the 1990 future!
-
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
-
leptos-mview
A concise view macro for Leptos
-
enum-ptr
Ergonomic tagged pointer
-
metastruct
Abstractions for iterating and mapping over struct fields
-
fallible-streaming-iterator
Fallible streaming iteration
-
nar_dev_utils
用于NARS相关项目开发的实用工具包
-
radiation
Convert Rust type into raw bytes and vice versa
-
unsafe-fields
unsafe to access or modify fields with safety invariants
-
defer
excecution of code, inspired by go's defer statement
-
event-driven-library
Event Driven Message Handling
-
fmt-cmp
Traits and utilities for lexicographically comparing values in their
Display
representations -
funcmap
Derivable functorial mappings for Rust
-
generativity
Generation of unique invariant lifetimes
-
btypes
Better types (BTypes) for when you dislike normal types, I guess
-
downcast
Trait for downcasting trait objects back to their original types
-
scale-typegen
Type Generation for SCALE encoded Rust Types
-
soa-rs
A Vec-like structure-of-arrays container
-
indicator
Abstractions for stream aggregation, we call them
Indicator
s -
tinyvec_macros
Some macros for tiny containers
-
string_more
Extension traits for
String
and&str
types -
hermit-sync
Synchronization primitives for kernels
-
collate
Traits and a data structure to support collation and bisection
-
cowstr
Copy-on-Write shared strings
-
rudi
out-of-the-box dependency injection framework for Rust
-
auto_enums
allow multiple return types by automatically generated enum
-
expect-exit
Result.expected(): display an error message and exit without a panic
-
sabry
Syntactically Awesome But RustY - crate that brings SCSS/SASS into rust
-
fauxgen
write your own generators in stable rust
-
text-block-macros
Create a multiline string literal
-
try-specialize
Zero-cost specialization in generic context on stable Rust
-
ranged_integers
An integer restricted to a compile-time defined bounds driven by const generics
-
macro-attr-2018
macro_attr!
macro that enables the use of custom, macro-based attributes and derivations -
iced_anim
creating animations in Iced
-
checked-rs
encoding validation semantics into the type system
-
byondapi
Idiomatic Rust bindings for BYONDAPI
-
fomat-macros
Alternative syntax for print/write/format-like macros with a small templating language
-
kind
Costless typed identifiers backed by UUID, with kind readable in serialized versions
-
cexpr
A C expression parser and evaluator
-
enum-assoc
Procedural macro to associate constants with enum variants
-
const-type-layout
Derivable const trait to view and compare the layout of a struct, union, or enum
-
jni-toolbox
tools to make writing JNI native functions less tiresome
-
lazy-static-include
lazy_static_include_bytes
andlazy_static_include_str
macros to replaceinclude_bytes
andinclude_str
macros -
hlist2
Compile-time heterogeneous list implementation
-
direction
Representations of directions
-
vtable
Helper crate to generate ffi-friendly virtual tables
-
anyinput
A macro for easier writing of functions that accept any string-, path-, iterator-, array-, or ndarray-like input
-
columnation
Unsafe columnar containers for native Rust types
-
swift-rs-hatter-fork
Call Swift from Rust with ease!
-
conv2
number of conversion traits with more specific semantics than those provided by 'as' or 'From'/'Into'
-
crustal
generating C/C++ code
-
proc-bitfield
expressively declare bitfield-like structs
-
mownstr
Maybe Owned String
-
endian-writer
[no_std] Methods for efficient reading and writing of structures to raw pointers in a stream-like fashion
-
autofloat
Pure Rust library for efficient automatic differentiation
-
is_empty
Easily check if the struct is empty
-
orx-closure
An explicit closure with absolute seperation of the captured data from the function
-
validify
struct validation and modification functionality through the use of derive macros
-
xx
A collection of useful Rust macros and small functions
-
windows-targets
Import libs for Windows
-
a1
A package for converting to and from A1 spreadsheet notation
-
certain-map
A typed map which can make sure item exist
-
ownable
Derive macro for structs/enums with Cow, which can convert Type<'a> to Type<'static> and more
-
self-rust-tokenize
Turns instances of Rust structures into a token stream that creates the instance
-
ice_code
A macro to mark code paths as cold, allowing the common case to be inlined
-
tevec
provide quantitative analysis functions for vec | ndarray | polars backend
-
safelog
Conditionally suppress confidential information from logs
-
strong-type
Procedural macros for naming and strong-typing pritimives and strings
-
tisel
Effective type-based pseudodynamic dispatch to impls, enums and typeid
-
jnix
High-level extensions to help with the usage of JNI in Rust code
-
light_ranged_integers
Ranged integers for stable Rust compiler, zero-dependencies and no unsafe code
-
components-arena
creating complex domain-specific self-referential data structures
-
ghost
Define your own PhantomData
-
synonym
Customizable derive macro to create newtypes. It peeks into the underlying type to choose which traits should be implemented.
-
static-keys
Reimplement Linux kernel static keys for Rust userland applications
-
model-mapper
Derive macro to map between different types
-
io-streams
Unbuffered and unlocked I/O streams
-
oxrdf
providing basic data structures related to RDF
-
drcp-format
Parse and write DRCP and literal definition files
-
tupletools
functions for tuples
-
deptypes
Dependent types
-
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) -
cbor-data
using CBOR as in-memory representation for working with dynamically shaped data
-
ffi_helpers
help make working with FFI easier
-
bilge
Use bitsized types as if they were a feature of rust
-
egui_struct
EguiStruct is a rust derive macro that creates egui UI's from arbitrary structs and enums
-
drop_bomb
A runtime guard for implementing linear types
-
untrusted_value
aim to provide a type-safe way to handle and sanitize potentially untrusted values like user input
-
fieldx
Procedural macro for constructing structs with lazily initialized fields, builder pattern, and serde support with a focus on declarative syntax
-
tokenlock
cell types that decouple permissions from data
-
numtest
Unit testing for numerical methods
-
fixedstr-ext
A fork of fixedstr, which add more const functions to it
-
portaldi
An ergonomic lightweight compile-time depencency injection library
-
borrowme
The missing compound borrowing for Rust
-
bool_vec
A crates that exposes a vector called BoolVec which allows you to store a boolean in a single bit
-
result-like
Option/Result-like monad interface for your own enum
-
logkit
Super fast, structured, scalable logging library for Rust
-
derive_destructure2
Destructure structs that implement Drop
-
caret
Macros for declaring non-exhaustive C-style enumerations, with named members
-
fn-traits
function traits like the standard library ones, but can be used in stable Rust
-
auto_ops
Macros for easy operator overloading
-
slice-diff-patch
providing utility functions for diff and patch of slices
-
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 -
fp_rust
Implement fp features for Rust
-
cfg-iif
A macro for defining
#[cfg]
if-else
functions -
dogma
Dogma.rs
-
small_len
A small library for storing the length in the smallest internal type
-
intern-arc
An interner that deallocates unused values
-
ext-trait
Annotation to easily define ad-hoc / one-shot extension traits
-
wrap-match
A procedural macro to wrap a function in match statement to make error logging super easy
-
assert_approx_eq
assert approximately equal
-
reweb3-num
Arbitrary precision, fixed-size signed and unsigned integer types for ethereum, this a fork of bnum crate
-
fastn-type
fastn: Full-stack Web Development Made Easy
-
yerevan
Small Rust crate that brings computation expressions idea from F# for help you to work easier with functors and monads
-
twinsies
Smart pointer providing 2-way joint ownership of an object
-
functor_derive
A derive macro to derive a functor for a type
-
rs_envflag
An easy way to define flags by environment variables
-
rxml_validation
Plumbing crate for rxml and rxml_proc crates
-
dprint-swc-ext
Functionality to make swc easier to work with
-
mapper
Mapping macro to help to reduce mapping boilerplate
-
vtid
generating volatile type IDs
-
conv
number of conversion traits with more specific semantics than those provided by 'as' or 'From'/'Into'
-
ctrlgen
Generate enums for message-passing services
-
openapi_type
OpenAPI type information for Rust structs and enums
-
teleparse
-
selfie
Experimental, macro-free and allocation-free self-referential structs
-
sitrep
Frontend-agnostic progress reporting
-
ruut-functions
parse math functions from string (1D,2D,3D,ND) and perform symbolic derivation, gradient, hessian
-
gen_ops
Macros for operator overloading for generic types
-
cortex-ai
An asynchronous flow-based processing framework for building flexible data pipelines with conditional branching and error handling
-
tardar
Extensions for diagnostic error handling with
miette
-
corlib
A various ideas library
-
sod
Service Oriented Design
-
alternating-iter
Provide an iterator adaptor which alternate between two iterators
-
redb_model
Redb model derive macro and DTO type conversion
-
core_extensions
Extensions for core/std library types, and other miscelaneous features
-
pgde
A macro library for consuming PostgreSQL row data into structs
-
impls
Determine if a type implements a logical trait expression
-
random_variant
To be used with all variant, contains the derive macro
-
iterstats
Statistics for rust iterators
-
bellframe
Fast and idiomatic primitives for Change Ringing
-
focusable
A trait for types that can be focused
-
nameof
macro to determine the string name of a binding, type, const, or function
-
padder
Highly efficient data and string formatting library for Rust
-
nu-std
The standard library of Nushell
-
kinded
Generate enums with same variants, but without data
-
devela
A development foundation
-
ergokv
Easily store and retrieve data from TiKV with a derive
-
iter-comprehensions
iterator comprehensions
-
aliri_braid
Improve and strengthen your strings by making them strongly-typed with less boilerplate
-
stack_dst
A wrapper that allows storage of unsized values of up to a fixed size inline (without boxing)
-
nonany
Integer types with customizable niche values
-
ref_iter
Dynamic borrowing iterator
-
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. -
pike
A macro collection to pipe |> your functions calls, like in functional languages such as F#, Elixir and OCamel
-
loupe
Profiling tool for Rust
-
nolife
open a scope and then freeze it in time for future access
-
rust-quiz
Medium to hard Rust questions with complete explanations
-
dialogue-macro
An extension to dialoguer that simplifies command-line interaction interfaces
-
dylint_linting
writing Dylint libraries
-
iter-identify_first_last
A helper iterator, flagging first and last elements
-
sigmut
a state management framework designed to be used as a foundation for UI frameworks
-
merg
Merge multiple values into one
-
vector-traits
Rust traits for 2D and 3D vector types
-
uniplate
boilerplate-free operations on tree-shaped data types
-
prange2
Parse numeric ranges for indexing
-
linear_type
Linear types for rust
-
one_two_eight
typed 128-bit identifiers
-
dynamodel
derive macro to implement conversions between your object and
HashMap<String, AttributeValue>
-
termite-dmg
Termite Data Model Generator is a crate meant to generate boiler plate code for data models
-
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
-
rngstr
A cli tool for generating random strings of characters with customization options and a small domain specific language
-
inline-c
Write and execute C code inside Rust
-
wallee
Flexible concrete Error type built on std::error::Error with caller location tracking
-
iter_num_tools
Create simple iterators over non integer ranges. itertools + num = iter_num_tools
-
argp
Derive-based argument parser optimized for code size
-
hex_lit
Hex macro literals without use of hex macros
-
db
ergonomic and precise error handling built atop type-level set arithmetic
-
opentalk-kustos-prefix
Derive macro for defining kustos prefix
-
enum_cycling
Small macro for working with enums
-
safe_math
Math without overflow, creates an enum and a macro to help mitigate any overflow while multiplying and adding
-
indexed_valued_enums
Create enums resolving into values, and get their variants back through their values or their discriminant, inspired by Java
-
never
A stable version of the unstable never type (!)
-
static_file_util
generating and managing static files in Rust applications
-
ex_em_ell
Provide macros for serializing and deserializing XML
-
ecksport-core
Defs for frame types, traits, topics, error codes, etc
-
oxc-miette
Fancy diagnostic reporting library and protocol for us mere mortals who aren't compiler hackers
-
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… -
supply-chain-trust-example-crate-000055
Flexible concrete Error type built on std::error::Error
-
supply
Provider API for arbitrary number of lifetimes
-
value-box
Allows developers to pass Rust-allocated structures over ffi
-
rp-postgrest-error
strongly typed errors for PostgREST
-
ssi-di-sd-primitives
Selective Disclosure primitive for Data-Integrity suites
-
fmt-interspersed
write an iterator's items, interspersed with a separator, to a destination
-
next_tuple
A trait to build and extend tuples
-
coi
Dependency Injection library
-
phnt
Rust bindings to the System Informer’s (formerly known as Process Hacker)
phnt
native Windows headers -
tighterror
A minimalistic error representation framework
-
surrealdb-extras
additional functionality for working with SurrealDB
-
evcxr_repl
A REPL for Rust
-
guard
Macro implementation of RFC 1303: a guard-let-else statement a la Swift
-
procmeta
integration procmeta-core and procmeta-proc
-
fromsuper
Macro helpers to derive new sub-structs from existing super-structs, potentially unpacking Options
-
case_insensitive_string
A case insensitive string struct
-
derive-alias
Alias multiple derives as one
-
structx
Simulating anonymous struct and named arguments in Rust
-
simple-logging
logger for the log facade
-
jomy-ap-rustc_lexer
Automatically published version of the package
rustc_lexer
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 -
fn_macro
函数宏
-
tri_ton
A Macro for Handling Exceptions
-
linked_list_r4l
Linked lists that supports arbitrary removal in constant time
-
oco_ref
A smart pointer for storing immutable values with relatively-cheap cloning. (Like a
Cow
meets anRc
!) -
merge
multiple values into one
-
miden-thiserror
derive(Error) with no-std support
-
visibility
Attribute to override the visibility of items (useful in conjunction with cfg_attr)
-
unwind-context
Macro to add colored panic context to your functions
-
convert_traits
Define your own conversion traits to solve the problem of converting two external types without using new types
-
const-default
A const Default trait
-
panicking
std::thread::panicking
analog available in theno_std
context -
command-macros
Macros for creating std::process::Command with shell-like syntax
-
unarray
working with uninitialized arrays
-
pipe-trait
possible to chain regular functions
-
re_tuid
128-bit Time-based Unique Identifier
-
default-constructor
Macros for creating pseudo-dsls that constructs structs through default construction and field conversion
-
test_help-rs
Test helpers for Rust
-
simple-error
error type backed by a string
-
cast
Ergonomic, checked cast functions for primitive types
-
cove
Casts Of Varying Elegance (COVE): extension traits for casting numerical types
-
glam-traits
Traits for the vectors in glam
-
nade
Adding named and default arguments to Rust functions
-
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)
-
derive-ctor
Adds
#[derive(ctor)]
which allows for the auto-generation of struct, enum, and union constructors -
bio-types
A collection of common biomedical types for use in rust-bio and rust-htslib
-
maybe-single
A singleton. Maybe.
-
clamp_to
Clamp integer and float values to the values that fit within both the original number type and the receiving type
-
quoth
scannerless (no-lexing), developer-friendly parsing library for implementing DSLs and syntax parsers in Rust
-
crevice_notan
Create GLSL-compatible versions of structs with explicitly-initialized padding
-
elicit
SmartPointer-like structure for polymorphism
-
safecast
Traits to define safe casting between types
-
hzrd
Shared mutability containers based on hazard pointers
-
char-device
Character Device I/O
-
tagged-id
A zero-cost wrapper adding type-safety to resource identifiers
-
with_drop
Nostd wrapper for using a closure as a custom drop function
-
crony
cron runner that spawns another thread to run your cron jobs
-
nanokit
A collection of tiny, reusable utility methods that reduce code size and improve performance
-
eventastic
opinionated fork of Eventually-rs. It enforces the use of transactions and handles idempotency.
-
implementation
The implementation crate
-
oxidd-rules-bdd
Binary decision diagrams (BDDs) for OxiDD
-
traitsequence
Traits to abstract over sequences
-
lexi-matic
A Lexer Library
-
backtrace-error
wrap errors with automatic backtrace capture and print-on-result-unwrap
-
async-iterator
An async version of iterator
-
confi
confidence intervals and significance levels for statistical computation
-
univec
A vector that can hold elements of any single type
-
vcell
Cell
with volatile read / write operations -
binread
helping read structs from binary data using ✨macro magic✨
-
size-of-trait
determine the size of a future or trait impl at compile time
-
procc-ll
processor of tokens for rust
-
outref
Out reference
-
rc-box
Known unique versions of Rc and Arc
-
not-found-error
Convert Option to Result using convenient functions
-
swift-bridge-build
Parse Rust files for swift-bridge modules and generate the corresponding Swift and C code for them
-
flexi_func_declarative
exposes the fb! macro to create a function with a flexible signature
-
processmanager
manage process lifecycles, graceful shutdown and process faults
-
type_cell
Attach values statically to a type using static get/set methods
-
sodium
FRP (Functional Reactive Programming)
-
compare_version
comparing semantic versioning strings and checking version compatibility
-
jomy-ap-rustc_abi
Automatically published version of the package
rustc_abi
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 -
binf
that adds utilities for dealing with binary flags
-
map
map!
macro andmap_insert!
macro, to create a HashMap collection and insert key-value pairs. Inspired by thevec!
macro. -
elvish
Overengineered Advent of Code framework - not quite Santa's elves
-
soapy
Structure-of-arrays derive macro
-
anyrust
any rust
-
copstr
COpy STRing module
-
enumerable
helping you to enumerate all possible values of a type
-
defer-heavy
A versatile and easy to use defer statement for Rust. Similar to Go's or Zig's defer.
-
native_api_1c
Main library for Native API 1C
-
unwrap-ord
Wrapper type to easily convert Ord to PartialOrd. inspired by std::cmp::Reverse
-
fiberplane-pdk
Fiberplane Provider Development Kit
-
hs-bindgen
Handy macro to generate C-FFI bindings to Rust for Haskell
-
panic-analyzer
an audit tool to scan your crate or workspace searching for potential panic points in your codebase
-
width_counters
Atomic counters with variable bit widths and customizable atomic ordering
-
inline-python
Inline Python code directly in your Rust code
-
scout-parser
A web crawling programming language
-
capture-it
Modern c++-ish capture syntax for rust
-
io-enum
#[derive(Read, Write, Seek, BufRead)] for enums
-
as-is
An abstraction over ownership
-
code-path
A code path macro
-
dyn_std
Dynamic (object-safe) version of std traits
-
rempl
creating html components directly in your source
-
slice_map
A generic container to store a single type of data into unevenly sized slices
-
tf2-sku
SKU parser for Team Fortress 2 items
-
std-next
Opinionated utilities and polyfills
-
game_inventory
An inventory system independant of item data
-
uints
Unsigned Integer Properties
-
libabort
A abort function that doesn't require the standard library
-
awint_macro_internals
Internal macro utilities for the
awint
system of crates -
simple_parse
A declarative converter for Rust type to and from binary
-
soa_derive
Automatic Struct of Array generation
-
cubob
Structured output helpers for display mode
-
precomputed-hash
intending to be a base dependency to expose a precomputed hash
-
quick-error
A macro which makes error types pleasant to write
-
cplex-rs
Binding of IBM Cplex library
-
borrow-or-share
Traits for either borrowing or sharing data
-
ointers
What do you call a pointer we stole the high bits off? An ointer
-
ra_ap_hir_expand
Macro expansion for rust-analyzer
-
plain_hasher
Hasher for 32-byte keys
-
hax-lib
Hax-specific helpers for Rust programs
-
custom_derive
(Note: superseded by
macro-attr
) This crate provides a macro that enables the use of custom derive attributes -
benri
Convenient macros wrapping the standard library
-
cprint
Cargo-like print
-
thiserror-ext
Useful extension utilities for
thiserror
-
anthill-di
Rust di containers system
-
deltoid
calculate and apply deltas to structs and enums
-
rustdoc-stripper
manipulate rustdoc comments
-
mvutils
made from commonly used functions in my projects
-
traitreg
Create a registry of implementations of a trait
-
take-until
A take_until extension for iterators
-
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
. -
probe
Static instrumentation probes
-
transient
Reimplementation of
std::any::Any
with support for non-'static
types -
abcgen
A procedural macro to generate boilerplate code for objects implementing the 'Actor' pattern
-
stack_box
store unsize struct on stack with static check
-
deno-bindgen2
An FFI bindings generator for Deno
-
ty_map_gen
A type projecting map generator
-
separator
Formats numbers into strings with thousands separators for readability
-
snowflaked
creating and working with snowflake ids
-
structural-convert
Derive conversion traits (From, Into, TryFrom, TryInto) when fields are structurally similar in enums or structs
-
exhaustive
The trait for generating all values of a type, and a property-based test macro
-
class_list
A reactive helper that ensures normalized class list strings in frontend frameworks like Leptos
-
derive-insert
GetOrInsert
trait for enums and its derive macro -
transitive
derive macros for Rust
-
deep_safe_drop
Safe dropping of deep trees that otherwise could cause stack overflow
-
enum_handler
A macro to generate a handler trait for enums variants
-
agb_fixnum
abstracting over fixed precision numbers. Designed for use with the agb library for the Game Boy Advance
-
panic-message
Get a panic message from a panic payload
-
safe-discriminant
A minimalistic,
no_std
compatible trait and procedural macro for extracting discriminants from enums at zero cost -
aquamarine-demo-crate
A demo crate for aquamarine -- the mermaid.js integration for rustdoc
-
smol_buf
small-string optimized string / buffer type with O(1) clone
-
range_checker
derive-macro crate aimed to provide declarative bounds checking and filtering for structure
-
mode
A behavioral state machine library written in Rust
-
iced_af
The iced application framework project
-
log_limit
A rate limiting logging crate
-
primitive-from-enum
macros for get primitive enum from complex
-
gazebo
A collection of well-tested utilities
-
captur
Macro to capture whole structs from disjoint fields in a closure
-
assert-eq-float
assert_eq_float!
macros that support floats -
enum_ext
procedural macro that enhances enums with additional methods and conversions
-
prima_bridge
implement the bridge pattern
-
overloaded_literals
Overloaded Literals to construct your datatypes without boilerplate and with compile-time validation
-
c8str
String types that are both utf-8 and null terminated
-
stupid_utils
that provides some simple and maybe stupid or useful tools
-
set_derive
Using Macros to Implement List comprehension Similar to Python Language
-
flatty-portable
Flatty portable trait and primitives
-
no-break
Typesafe extraction of continuation values from unbreakable control flows
-
cast_checks
A procedural macro to check for invalid casts
-
dynarg
mechanism for dynamic robust argument handling
-
surreal_devl
Contains core logic of surreal derive
-
cloudformatious
Extension traits for rusoto_cloudformation
-
egui-probe
Trait and derive macro for exposing value editing in egui
-
ux2
Non-standard integer types like
u7
,u9
,u10
,u63
,i7
,i9
etc -
pin-macros
primarly used to simplify the proccess of working with self-referencial structures
-
steepen
Create multiple iterators from a single iterator by separating elements
-
vsprintf
Rust bindings to the libc vsprintf function
-
rustrix
Supports macro and basic operations for matrix
-
parenv
Environment variable parser with a clap style derive macro and elm style error reporting
-
pyo3-error
Unified error causality chains across Rust and Python
-
more-itertools
python more-itertools
-
error_mapper
standardized Results and Errors handling accross all your projects
-
copyvec
A contiguous growable array type, with a fixed, stack-alllocated capacity that implements Copy
-
sbpf-asm-macros
Ergonomic macros for low-level sBPF ASM functionality
-
easy_errors
simplify and enhance error handling in Rust
-
advancedresearch-path_iter
A cocategory enumeration library based on path semantics
-
plectrum
An easy way to represent lookup tables in a db as rust enums
-
static_assertions_next
Compile-time assertions to ensure that invariants are met
-
sddl
parse and analyse SDDL Strings
-
rustdoc-prettier
Format
//!
and///
comments with prettier -
tuple_utils
A set of utilities to enable higher level operations over tuples
-
unsafe_cell_slice
A microlibrary for creating multiple mutable references to a slice
-
docpos
Compact-document items after defining them (fn, struct, enum) + document fn parameters with rustdoc (⑂roxygen)
-
combin-iterator
Some usefull facilities for combining iterators
-
iterator-sorted
Stable functions for checking iterator sorting
-
gh-workflow-tailcall
macros for gh-workflow
-
cve-rs
Blazingly fast memory vulnerabilities, written in 100% safe Rust
-
install-dirs
handling gnu install directories in rust
-
token-ref-cell
Interior mutability cell using an external token to synchronize accesses
-
declarative_enum_dispatch
Declarative macro generating boilerplate for enum dispatch
-
sod-actix-web
Service Oriented Design - Actix Web
-
portrait
Fills an
impl
with the associated items required by the trait -
enumeration
An extension to rust enum
-
okapi-response-mac
A macro for creating response code based on responses structs rather than typing and implementing OkapiRocketResponseInner manually
-
anyerror
A type of any error for transport
-
chasa
A parser combinator with
many
taking iterator, conditional branching, and method chain -
micro_errors
deal with errors without taking the derive macro approach
-
slippery-iter
Easy to use abstinential (slippery), N-peekable and rewindable wrapper over an iterator. (Nightly Rust)
-
checked-float
making invariant-enforcing floating point wrappers
-
bash-builtins
implement loadable builtins for bash
-
ez_jni
Macros and functions that make using Java in rust feel natural
-
cooked-waker
A safe interface for creating async Wakers
-
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
-
iderive
Drop-in replacement for derive that doesn't directly depend on generic bounds
-
nanotweaks
moved to https://crates.io/crates/spread_macros
-
rtoolbox
functions for other crates, no backwards compatibility guarantees
-
airbag
handling errors and panics using 3rd party services
-
applying
Apply functions in method-position
-
nonzero_ext
Extensions and additional traits for non-zero integer types
-
heap-array
variable length array, with its main benefit over
Vec
is taking up less space -
superstruct
Versioned data types with minimal boilerplate
-
named-tup
Create named tuples using the tup!() macro
-
opaque_typedef
Supports defining opaque typedefs
-
duplicate_macrotest
Fork of the macrotest crate specifically to test the duplicate crate
-
tracked
A stringly-typed Error that includes
#[track_caller]
information -
macro-bits
performing macro-based bit manipulation
-
safe_cache
A key-value cache library in Rust featuring dynamic typing with support for multiple data types, automatic expiration, and thread-safe operations using Arc and RwLock
-
ref-ops
An escape hatch for implementing
ops
traits for references to newtypes -
saturating_add_assign
Convenience macro for AddAssign with saturating arithmetic
-
genmesh
A package for generating 3D meshes
-
easy-error
error utilities
-
vebex
that provides procedural macros for creating regular expressions in a verbose and readable way
-
hexchat-plugin
Lets you write HexChat plugins in Rust
-
intertrait
Allow for inter-trait casting
-
lazyinit
Initialize a static value lazily
-
goof
A reusable, composable, aggregate and
no_std
-friendly error library -
ubits
Bit fields and masks
-
gravitron_macro_utils
Gravitron's Macro Utils
-
htmlm
html macro with no dependencies
-
shelter
ROP-based sleep obfuscation to evade memory scanners
-
supply-chain-trust-example-crate-000053
A lightweight version of pin-project written with declarative macros
-
concat-in-place
Efficient macros for concatenation of strings and vectors
-
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)
-
dddk_core
Tactical DDD framework based on command_bus, event_bus and query_bus. It offers annex feature such as authorization, logging ...
-
labview-interop
Types and wrappers for interperating with LabVIEW when called as a library
-
tacit
macro to make newtypes easier to create
-
shorter-bounds
Write shorter bounds with a trait alias macro
-
accursed-unutterable-type-id
A worse version of std::any::TypeId
-
hello-world-in-rust
Hello World!
-
sparkles
Capture execution flow of your Rust application with CPU cycle precision!
-
bogdan_hello_macro
adds the method hello_macro that generates a greeting based on the name of the struct
-
kernelx
𐲕
-
envsubst
Variables substitution
-
chainerror
Make chaining errors easy
-
hax-bounded-integers
Newtypes for working with bounded integers with hax
-
cond
Rust macro to use a match-like syntax as an elegant alternative to nesting if-else statements
-
digitize
Traits for accessing digits of primitive integers & floats
-
restructed
Quickly derive subsets of your structs
-
home-prelude
Prelude library to support home applications
-
syllogism
allow for some specialization using stable Rust
-
genrc
refcounted pointer type that allows subobject pointers
-
ref_wrapper
Wrapper of dynamically borrowed data
-
dilib
A dependency injection library for Rust
-
maelstrom-worker-child
Helper library for maelstrom-worker
-
assert_matches2
A version of the assert_matches! macro that brings variables from the pattern into scope
-
should
Postfix assertion library for Rust
-
niloecl
axum handler pattern for twilight interactions
-
lichen
Scripting DSL (for Dialogue Graphs, et al)
-
trowel
Tools for writing HTML in Rust
-
human-errors
An error library focused on providing your users with relevant advice for any problem
-
degeneric-macros
Hides struct generics into trait associated types
-
suitest
quality of life test suites
-
iter_peek_end
current element the last one of a peekable iterator ? (
is_last()
andis_not_last()
) -
iter_fixed
Iterator of fixed length
-
destructure_traitobject
Unsafe helpers for working with raw trait objects. (Forked from traitobject)
-
interning
Thread-Lcoal and Global Interning Library
-
bty
Streamlined definition and usage of branded types in Rust
-
tc-error
TinyChain's generic error struct
-
sqler
way for writing SQL queries using some of Rust syntax
-
methods-enum
Two macros for easy implementation of 'state' design pattern and other dynamic polymorphism using enum instead of dyn Trait
-
scratchstack-aws-principal
Principal types for AWS/AWS-like services
-
mini-macro-magic
Export tokens to other modules and crates. Now with 100% less proc macros!
-
const_fn
A lightweight attribute for easy generation of const functions with conditional compilations
-
dims_macro
Macros for Generating Systems of Units
-
shadow_counted
An iterator that counts every iteration and commits the count to an optional parent iterator
-
scoped_thread_local
Highly flexible Scoped thread local with HKT builtin
-
enumcapsulate
Safe casting for newtype enums and their variants
-
mongo_indexed
derive macro to declaratively index mongo collections
-
failed-result
A small crate for converting various failed value to result with corresponding error type
-
typed-sql
A strongly typed sql serialization/deserialization framework
-
carboxyl
functional reactive programming
-
bitbag
A useful struct for dealing with bit flags
-
isclose
A collection of trait and macros for comparing approximate equality
-
zerror_full
macro for implementing helpful errors
-
file_picker
Prompts the user to pick a file interactively from the current directory
-
typeables
type aliases. By SixArm.com.
-
ownit
Easily turn borrowed type into owned values
-
stackerror
A pragmatic error handling library for Rust that provides helpful strings for debugging, and structured data for runtime error handling
-
sapp-jsutils
Helper functions for working with js objects in miniquad based apps
-
sumtype
Generate zerocost sumtype of iterators or closures
-
loop-let
An immutable loop structure that can be used as an expression
-
git-ref-format
Everything you never knew you wanted for handling git ref names
-
fixed-type-id
Make your types have a fixed type id&stable type name with version support between different builds
-
argcall
Enables enums and structs to be callable by associating functions with their variants or fields
-
prepeek
Peekable iterators without mutation
-
tuppipe
pipe operator-like implementation using tuples in Rust
-
nil
Noxmore's Ixperimental Lutilities
-
enum_downcast
Safe downcasting for enums
-
custom-format
Custom formatting for Rust
-
noco
no code, no problem
-
typestate
A proc macro DSL for typestates
-
namewise
Derived trivial name-wise conversions for Rust types
-
partial_application
partial function application via the partial! macro
-
tcp-struct
Share structs over tcp
-
shared_singleton
trait provides singleton pattern state management with shared container
-
type-toppings
Opinionated extensions to standard types
-
netherite
A tokio implementation of the Minecraft Protocol with derive macros
-
devgen-splitter
Devgen Splitter is a Rust library that breaks down source code into contextual chunks
-
rusty-cmd
creating custom line-oriented command interpreters in Rust
-
variadiz
Variadic function support for rust
-
io-arrays
Random-access I/O
-
non_structural_derive
nonstructural derives for auto traits
-
cifg
A macro for defining #[cfg] if/else blocks; alternate to cfg-if
-
bit_roles
Granular role management based on bit flags
-
oberst
A type-safe command parser and dispatcher inspired by Brigadier and written in Rust
-
ctor-lite
Run code at program startup or shutdown
-
trot
Trait library
-
objid
Generate a random object identifier
-
thin_delegate
Auto implementation of trivial delegation to inner types
-
rco_utils
Shared functions for "Remote Code Execution"'s (RCO's) binaries
-
peeking-iter
An iterator adapter that allows infinitely-deep peeking
-
newstr
macros for declaring String-base new types
-
commonware-utils
Leverage common functionality across multiple primitives
-
accountable-refcell
A RefCell wrapper that provides actionable information for dynamic borrow failures
-
quote-data
A tokenization Library for Rust
-
tiny-ordered-float
Tiny version of OrderedFloat
-
rt-format
Fully-runtime equivalent of the format! macro
-
closure
A macro for capturing variables on a per variable basis
-
python-packaging
Python packaging primitives implemented in Rust
-
summum-types
A sum-type macro crate with all the conversions, accessors, and support for abstract methods across variants, and interoperability between sum-types
-
simple_detailed_error
Stack and specify errors explainations saying what happened, why, how, where, how to solve it and its causes
-
quickbits
Fast bit manipulation routines for Rust's native integer types
-
easy_node
Smart pointer for graph nodes
-
rich_err
rich, contextual error reporting
-
srb-std
test description 02
-
tupl
Perform generic operations on tuples
-
impl-opaque
Macro for declaring complex struct and initializer
-
jkcenum
Rust enum library
-
non-empty-string
type for non empty Strings, similar to NonZeroUsize and friends
-
teo-teon
Object notation for Teo
-
snapup
Abstractions for handling snapshots with streams of subsequent updates
-
err-rs
Error level management
-
materially
A macro for material implication
-
seqgen
Sequence generation library
-
cmdstruct
A lightweight macro for implementing commands with a struct
-
sudo_plugin
Macros to easily write custom sudo plugins
-
rancor
Scalable and efficient error handling without type composition
-
re_error
Helpers for handling errors
-
refl
refl
encoding which you can use to provide a proof witness that one type is equivalent (identical) to another type. You can use this to encode a subset of what GADTs allow you to in Haskell -
dbg_unreachable
Switch between unreachable! and unreachable_unchecked with a single macro
-
pyo3_special_method_derive
Automatically derive Python dunder methods for your Rust code
-
lebe
Tiny, dead simple, high performance endianness conversions with a generic API
-
carykh-macro-rust
macro for finding strings that contain self-referential numbers. Inspired by carykh. This description contains twenty-seven words, fifty-four vowels, and ninety-nine consonants.
-
str_crypter
A macro library for XOR encryption and decryption of strings at compile time, meaning no cleartext strings will be in your release binary (when using the macro). The encrypted strings will be decoded at runtime.
-
some_crate
If you just need a crate that's guaranteed(*) to do practically nothing
-
binmarshal
Pack and unpack structs and enums into and out of binary data streams
-
cstr-argument
A trait for converting function arguments to null terminated strings
-
air-macros
Macros for the TNJ Assembly Intermediate Representation (AIR)
-
tear
Typed early returns and loop control + Syntax sugar for try!-like error handling
-
relrc
Reference counted pointers, with relationships to other pointers
-
tany
Type-erased container with inline storage for small values
-
marker_trait
Implement a blanket implementation for a marker trait
-
string_error_wrap
providing a macro for an error type wrapping a String
-
string_from
A three-letter macro for String::from
-
consumable
Consume the value by replacing it with the default value and returning the previous value
-
inherent
Make trait methods callable without the trait in scope
-
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.
-
fmt-derive
A more robust and versatile derive macro for Debug and Display
-
stackstack
A singly linked list intended to be chained along stack frames
-
pathogen
Typed references and deep mutation into Rust types
-
structz
Anonymous struct implementation in rust
-
gobble
A Combinator based parser for strings that gets out of the way, and leaves your code looking like a grammer
-
num_bound
Add bounds fn to anything implementing
Ord
that bounds a number to a range -
docsplay
A derive macro for implementing the display Trait via a doc comment and string interpolation. Fork of displaydoc
-
strunemix
allows to build a struct with a form of its fields, by deriving enums of them
-
type_description
Machine-readable type descriptions
-
gerber-types
Types and code generation for Gerber files (RS-274X)
-
tiny-input
Tiny input macros
-
the-string-macro
The missing
string!
macro to constructString
value from string literal -
fallback-if
Fall back to an alternative given some predicate
-
esync
This package contains some useful synchronization primitives
-
rust-witness
Build a circom witness in Rust
-
test_eq
assert_eq!-like macros that return a Result instead
-
mopa
My Own Personal Any: get your own Any with additional functionality
-
reductor
Generic abstractions for combining and nesting reduction patterns for iterables
-
taskchampion-lib
Personal task-tracking
-
nvptx-std
stdlib for nvptx64-nvidia-cuda
-
intfloat
Fast and simple hashable float alternative using ints
-
maybe-uninit-ext
Extended maybe-uninit types
-
nz
Collection of 100% safe macros for creating non-zero integers more easily
-
proto-mapper
A Macro library for easier mapping between custom models and proto generated code
-
errore
error handling and tracing
-
terra-items
enum contatining terraria items and prefixes
-
asm_block
Translate tokens to string for Rust inline assembly
-
tartan-bitfield
Define structures with accessors for particular bits or bit ranges
-
doc-search-dsl
procedural macro for creating complex regex patterns using a Domain-Specific Language (DSL)
-
objective-rust
Seamlessly bind Rust and Objective-C code
-
vector3d
3D vector type
-
mudra
Currencies as distinct structs
-
wiwiwiwiwiwiwiwiwiwi
declarative macros for wiwi, a library, of, Stuff™ (implementation detail; do not depend on this crate directly)
-
retrying
General-purpose retrying library for Rust with macros and functions
-
sexpr-out
Tools for writing S-Expressions from Rust data
-
ferrunix
A lightweight run-time dependency injection framework for Rust
-
aws-lib
Helper functions and types for AWS operations
-
valued-enums
Macros collection and specify trait for creating valued or python-like enums
-
forward_ref
Rust's forward_ref_* macros for easier implementation of operator overloading
-
hotswap
Easy code swapping in running executables
-
aranya-trouble
A wrapper to implement the Error trait
-
unwrap_or
Four easy unwrap Result and Option macros that allow for any inline-scoped code for things like return, continue, and break
-
trig
Complete set of trigonometric and hyperbolic functions in Rust
-
core_io
copy of libstd::io with all the parts that don't work in core removed. Most importantly, it provides the Read and Write traits. This crate is (mostly) automatically generated from the rust git source…
-
macroex
An extractor based low level macro parsing crate that provides high level parsing support through derive macros
-
conerror
macro that automatically adds context to errors
-
circomspect-parser
Support crate for the Circomspect static analyzer
-
elor
Base generic implementation of an Either type
-
as_num
Checked conversions between Rust's numeric types
-
drop_guard
enables you to implement the Drop trait on any type. So you can run a closure on any value running out of scope
-
oneline-eyre
A fork of
simple-eyre
which outputs errors on a single line -
s-string
s!() macro for quick String::from()
-
kommons_macros
a set of macros with utils
-
symbolism
Unique symbols made from human readable tags
-
relax
Derive Partial<T>
-
enum-variants-strings
Derive macro for converting instances of enums to and from strs using variant names
-
k8s-controller
lightweight framework for writing kubernetes controllers
-
nanvm-lib
NaNVM library
-
quick-error2
A macro which makes error types pleasant to write
-
tentacli-traits
Traits and types for tentacli and related projects
-
holder
getter setter auto gen with holder trait
-
isr-macros
Macros for ISR
-
cfgenius
Conditional compilation with macro support in Rust
-
decurse
Macro to make recursive function run on the heap (i.e. no stack overflow).
-
fastn-resolved
fastn: Full-stack Web Development Made Easy
-
maelstrom-test
Test macros for Maelstrom
-
qm-utils
functions and macros
-
thiserror_string_context
Adds context string to error enums generated with thiserror
-
totally-safe
that allows you to bypass Rust's safety guarantees with totally safe patterns, featuring arbitrary lifetimes, aliasing, and more!
-
from_variants
Rust macro to automatically generate conversions for newtype enums
-
ffd
Fast Function Dispatch: Improving the performance of Rust's dynamic function calls
-
version
A very simple library who's job is to return the version of your crate if you're building with Cargo
-
exec-rs
that provides utility traits for task execution and, if the sync feature is enabled, the ability to synchronise tasks based on the value of a key
-
subplotlib
functions and types for
subplot codegen
generated Rust based test suites. Relies onsubplotlib-derive
for associated macros. -
strser
A struct serializer for rust empowered with a macro
-
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
-
ptrplus
Additional funtionality for pointer types
-
inline_dyn
A container type for storing dynamically-sized types inline
-
round
your floats with precision from 1 to 10
-
softfloat-sys
Rust bindings for Berkeley SoftFloat 3
-
gull
type generation
-
scope-functions
Kotlin-inspired scope functions for use in almost any situation
-
async_fn_traits
Trait synonyms for “Fn[…]”-trait bounds returning futures
-
io-close
An extension trait for safely dropping I/O writers such as File and BufWriter
-
syrette
The convenient dependency injection framework
-
first-err
Find the first Err in Iterator<Item = Result<T, E>> and allow iterating continuously
-
field33_rdftk_names_temporary_fork
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. -
bittorrent-primitives
collections of basic types for BitTorrent projects
-
thiserror-context
A wrapper around thiserror, giving you the ability to add context
-
erasable
Type-erased thin pointers
-
dirk_framework
Dependency Injection for Rust
-
grouping_by
allows the user to group an iterator by various ways
-
cew
Personal Rust utility library
-
element-ptr
A macro to make accessing elements through raw pointers easier
-
tca-rs
The Composable Architecture (TCA, for short) is a library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind
-
diffuser-edit
Edit diffuser models without GPU and Python
-
outcome-46f94afc-026f-5511-9d7e-7d1fd495fb5c
Augmentations for error propagation
-
derive-prom-metrics
Build Prometheus metrics declaratively as structs
-
case_iterable
A procedural macro to iterate over enum variants, ala Swift's CaseIterable
-
gilder
Golden testing library
-
eventmill
Event sourcing and CQRS for Rust applications
-
dyn-iter
Wrapper around
Box<dyn Iterator<Item = V> + 'iter>
to simplify your code -
assume
Macro for stating unsafe assumptions in Rust
-
tor-units
macros for types which are constrained within a range, ensuring invalid values are unrepresentable
-
enum-primitive-derive
enum_primitive implementation using procedural macros to have a custom derive
-
algar
Algebraic structures, higher-kinded types and other category theory bad ideas
-
defer-lite
A lightweight high-performance implementation of Go's defer statement
-
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 -
messages
Runtime-agnostic actor library
-
ez_log
logging library for Rust
-
aranya-buggy
A less panicky replacement for unreachable!() and unwrap
-
fu
Just an Error
-
progress-streams
Progress callbacks for types which implement Read/Write
-
aoko
extension library
-
tuple_list
macro-free variadic tuple metaprogramming
-
libipld-macro
ipld macro
-
gur
A undo-redo framework
-
thin_cstr
An experimental crate which provides a truly thin std::ffi::CStr
-
coded
concrete error type with an
ErrorKind
enum matching Google’s “canonical error codes” -
effing-mad
The hottest algebraic effects library in Rust
-
xmlparser-derive
A proc macro to generate functions for writing to and parsing from xml string, based on xmlparser
-
rvs
defining and evaluating random variables using a simple DSL
-
arch-into
safe type conversions between pointer-sized types (usize/isize) and types with fixed size
-
standalone-syn
Fork of syn that turns of the proc-macro feature in proc-macro2 and standalone-quote so as to remove the rustc dylib dependency
-
bint
Bounded Integer in Rust
-
struct-metadata
Macros for attaching metadata to structs
-
unwrap-overflow-ops
arithmetic operations that always panic on overflow
-
ifc_rs
IFC standard
-
autoproto
Replacement derive macros for
prost::Message
, and supporting traits and types to make implementing this trait easier -
tao-of-rust
《Rust编程之道》随书源码
-
leetcode_prelude
Some useful macros and definition for exercising in leetcode
-
reffers
Smart pointers: ARef, that allows even further owner erasure than OwningRef. Strong is a memory efficient Rc + RefCell in one. And more!
-
zip_clone
Zip an iterator to a repeately cloned object
-
peggen
Generate recursive-descent & precedence climbing parsers
-
haskell_bits
Rust implementations of various Haskell typeclasses and functions
-
tlns-google-oauth2-traits
A bunch of traits for
tlns-google-oauth2-traits
-
dddk_security
Security module of dddk_core. Impl features regarding command_bus pattern and security
-
sign-bound
Layout-optimized positive and negative integers
-
pinned-aliasable
Pin-based stopgap for unboxed aliasable values in self-referential data structures
-
lemurs-8080
An emulator for the Intel 8080 microprocessor
-
windows-helpers
Helpers for the windows crate
-
structify
A procedural macro to transform functions into structs with state and execution dependencies
-
typederror
A wrapper around anyhow that allows for a primary error type
-
advent_of_code_traits
Minimal, flexible framework for implementing solutions to Advent of Code in Rusts
-
lazy_bastard
A helpfull macro because writeing a seperate Default function is too much effort
-
lib-tan-core
The core library
-
cheap-clone
A trait which indicates that such type can be cloned cheaply
-
orfail
Error handling library for portable unrecoverable errors
-
sql-table-macros
Helper macros to generate SQL table definitions
-
entrance
A command line argument parser library which provides type assisted tools
-
stackbox
&own
ing references in stable Rust - no_std-friendly Box -
branch_hints
that provides likely and unlikely branch hint functions in stable Rust
-
pit-rust-externref
Portal Interface Types
-
timed
Macros to time function execution
-
json-query
Run jq programs to extract data from json strings
-
market
Infrastructure for producers and consumers
-
error_mancer
Quickly define custom error enums for a function
-
singleton-manager
A programatical singleton manager
-
wrappr
A libary for some useful wrapping traits
-
eventually
using Event Sourcing in Rust applications
-
poison-guard
maintaining sane state in the presence of panics and failures
-
sendable
Rc and Option equivalents that facilitate sending data between threads
-
deadlocker
Bringing builder pattern to defeat deadlocks
-
option-ext
Extends
Option
with additional operations -
piglog
beautiful way to print out log messages in the terminal
-
prev-iter
Iterator which allows you to view the previous element
-
rvstruct
A helper macros implementation for Value Classes in Rust
-
named-block
Macro implementing early-exit-from-any-block
-
uwuizer
Rust Macro to UwUize your text. UwU.
-
mac
A collection of great and ubiqutitous macros
-
ointer
Steal the high bits of a pointer to store an extra value
-
reax
A reactivity system for Rust that infers dependencies between functions
-
lmml-parser
LMML parser
-
typenum-consts
Procedural macros that take a literal integer (or the result of an evaluation of simple mathematical expressions or an environment variable whose value is a literal integer) and convert…
-
supply-chain-trust-example-crate-000028
A macro for declaring lazily evaluated statics in Rust
-
bossy
Opinionated convenience wrappers for
std::process::Command
and friends -
roopert
object-oriented toolkit for Rust
-
fixnum
Fixed-point numbers with explicit rounding
-
closure_example
A short description of my package
-
iterpipes
Compositional, pipes-style stream processing
-
io-adapters
Adapters to convert between different writable APIs
-
buf-read-ext
Trait extending anything that implements BufRead with stream_until_token()
-
hash256-std-hasher
Standard library hasher for 256-bit prehashed keys
-
hictor
declarative macro for __attribute__((constructor))/__attribute__((destructor))
-
builder-pattern
A derivable macro for declaring a builder pattern
-
dyn-clonable
Attribute wrapper for dyn-clone
-
derive_variants
derives an additional enum from a nested enum that contains only variants and no nested fields
-
coi-rocket
integration support between coi and rocket
-
possibly_uninit
Traits and types helping with using uninitialized memory safely
-
ord_subset
Tools for working with the Ord subset of certain PartialOrd types, like floats
-
scanmut
Insert/remove multiple items from Vecs in O(n) time
-
yugen
Writing rust like python
-
dioxus-shareables
Hooks for sharing structures between components
-
specler
way to write specifications on values
-
rtml
(r)ust macros for h(tml) expansion => rtml. (r)ust type safe (css) => rcss
-
cloned_trait
Cloned Trait
-
bitty_write_macro
A drop-in
write!
replacement that optimizes non-formatting writes for code size -
control-flow
A hack to control control-flow outside closures
-
iter-n
functions returning impl Iterator to return one of several distinct types
-
vmprotect
Unofficial VMProtect SDK for Rust
-
lawn-constants
error and logging types, traits, and codes for Lawn
-
cisness
Runtime 'live witness' of two types being the same
-
lset
Data types describing linear sets
-
std-traits
Traits for types in the standard library
-
sapling-hgtime
Parse time from strings
-
rust-corosync
Rust bindings for corosync libraries
-
service-layer-rs
alternative to the tower service layer, implemented using async trait, making the code more concise and easier to use
-
permeable
A permission-demand trait. Decouples the permission-demander from the permission / auth provider.
-
humane_commands
Allows you to write more shell-like Commands
-
unwrap-infallible
Unwrapping Result values with compile-time guarantee of infallibility
-
rombok
boilerplate generation macros like lombok
-
scopefn
Scope functions for Rust
-
strck_ident
Checked owned and borrowed Unicode-based identifiers
-
tuple-traits
Additional tuple traits to enable ergonomic types
-
fallible_map
fallible mapping over
Option
and iterators using functions that can returnResult
s -
sod-mpsc
Service Oriented Design - Multi Producer Single Consumer
-
extended-primitives
providing primitive-like types for use
-
kurtbuilds_regex
Wraps the regex library to also provide macros
-
adhesion
A set of macros for design by contact in Rust. The design of this library was inspired by D's contract programming facilities.
-
bigerror
handle big errors ¯\_(ツ)_/¯
-
runestr
User-perceived characters related types and data structures
-
filters
Build filters/predicates with the builder pattern
-
wutil
A lightweight library that contains useful functions, wrappers, and macros
-
overloadf
unlock function overloading for rust
-
jget
Rust tools
-
byte-strings
Rust byte strings manipulation, for a better and safer C FFI
-
cadeau-sys
FFI bindings to Cadeau library, performance primitives and media foundation functions
-
singleton-attr
singleton procedural attribute and derive macro
-
kusprint
A set of macros for printing objects to stdout without having to specify a template literal
-
chassis
Compile-time dependency injection framework
-
str-macro
The str!() macro, similar to vec![] but for strings
-
filterable-enum
generating filterable enums (Combining bitflags and discriminated unions)
-
enumx
Ad-hoc enum extension
-
lachs
automatically creating a lexer based on a given enum
-
liftor
Functors for Rust lifetimes
-
lyneate
beautiful code underlining and error reporting
-
kittycad-execution-plan-traits
Types for KittyCAD execution plans
-
readonly
Struct fields that are made read-only accessible to other modules
-
strdeser
A struct serializer for rust empowered with a macro
-
physical-quantity
dimension and unit system for general physical physical quantities
-
derive-merge-struct
A derive macro to partially update a named struct
-
despatma
Design Pattern Macro like Loki
-
piston-float
Traits for generic floats in game development
-
wtflip
A language in a Rust macro... or something.
-
apparat
A lightweight event-driven behavioral state machine
-
pooled-writer
using N threads to write to M compressed files/writers
-
plain_enum
Mimicing Java's enum::values() and EnumMap
-
nonicle
Tools for type-safe, canonical data representations
-
defer-rs
Deferred execution Rust utilities
-
supply-chain-trust-example-crate-000046
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… -
fnichol-cime
A demonstration of a Rust CI build/test/release workflow supporting multi-platform testing, binary builds, Docker image building, and Crates.io publishing
-
concat-string
macros for concatenating string slices into owned strings
-
have_len
container empty ? (
is_empty()
andis_not_empty()
) -
consclr
console text colorful
-
enum-derive-2018
macros for deriving additional functionality for enums
-
rustc-ap-rustc_expand
Automatically published version of the package
rustc_expand
in the rust-lang/rust repository from commit 9a27044f42ace9eb652781b53f598e25d4e7e918 The publishing script for this crate lives at: https://github… -
overflower
A compiler plugin to easily select overflow behavior for all integer operations of an item
-
rnet
Easily call into Rust from C# or other .net langauges
-
dbus-strings
Rust native implementation of different D-Bus string types
-
box-dyn
Macro to derive the implementation of Trait for Box<T: Trait>
-
smallnum
Compile-time size optimization for numeric primitives
-
simplicio
Gets rid of the boilerplate in rust
-
bitmask
generator for enum scoped bit flags
-
thread-object
Abstraction over thread-local storage allowing dynamic creation of TLS variables
-
ieee-apsqrt
Square root functions for IEEE floats using rustc_apfloat
-
multer-derive
derive for constructign type from multer Multipart
-
proc-easy
Macros to make writing proc-macro crates easy
-
type_utilities
Implementing more methods to rust type primitives
-
hrbf
Hermite Radial Basis Functions with higher order derivatives
-
generic-bytes
A derivable trait for conversion to and from an array of bytes with a type-level size
-
docify_clone
Docify allows you to live-embed at compile time pieces of code from throughout your project as rust doc examples
-
std_nightly_to_stable_3db085279c83
-
ownedbytes
Expose data as static slice
-
cronjob
scheduling your methods
-
tailwag_macro_inline
The logic for A collection of macros to support the tailwag crate
-
defmac
A macro to define lambda-like macros inline
-
partial-borrow
Partially borrow a struct
-
stecs
Experimental static compiler-checked ECS library
-
rs_transducers
transducers for Rust
-
typemap-meta
compile-time macro to create type-to-value maps
-
cast_trait_object
Cast between trait objects using only safe Rust
-
supply-chain-trust-example-crate-000032
Extra iterator adaptors, iterator methods, free functions, and macros
-
ambient-authority
Ambient Authority
-
projecture
Easy arbitrary type projections without proc macros
-
cgp-async
Async-generic primitives to support both sync/async in context-generic programming
-
irox-structs
Traits for Struct Types - linearly serialized big/little endian bytes
-
type-sets
Sets implemented in the rust type-system
-
squote
A clone of the quote crate that uses a String as its backing store
-
instancebuilder
Convenient way of managing dependency injection
-
pi_null
define trait is named Null. u8,u32,u64,Option...is implements Null
-
state-shift
Macros for implementing Type-State-Pattern on your structs and methods
-
advancedresearch-higher_order_core
Core structs and traits for programming with higher order structures in Rust
-
handle_errors
just a macro to get the thiserror with colors and the error place
-
konst_macro_rules
detail of the konst crate
-
funkjon
One of the worst macros this world has ever been (dis)graced with
-
dare
daring flexible data representation
-
singleton-cell
A more powerful Ghost Cell allowing the use of any singleton as the key
-
tea-map
Map functions for tevec
-
peekable-fwd-bwd
Iterator Peekable with multi-forward-peek and multi-backward-peek
-
malachite-bigint
A drop-in num-bigint replacement based on malachite
-
greattraits
My own collection for traits extending standard library types
-
easyerr
easier creation and transformation of error types
-
ptr-union
Pointer union types the size of a pointer by storing the tag in the alignment bits
-
hxdmp
A small utility to create hexdump output from byte slices
-
min-max
max! and min! macros
-
lazy_link
proc macro for dynamic runtime lookup of external functions, supporting custom resolvers, caching and no_std environments
-
lazy-init
Lazy initialization
-
descriptive_toml_derive
Procedural derive macro for serializing a struct into a TOML template with field descriptions that is easily edited and deserialized
-
river-layout-toolkit
Write River layouts in Rust with ease
-
problem
Error handling for command line applications or prototypes
-
macroquest
Write MacroQuest plugins in Rust
-
frayed
Unfused and unashamed iterators
-
yikes-intenum
Augment integer-based enums with an unknown variant; a macro that makes you say "yikes!"
-
brug
enum command generation for implementation blocks
-
steel-gen
Code generation crates for use within steel
-
seestr
pointer-wide nul-terminated strings with ownership semantics
-
clap-doc
Create markdown descriptions for
clap::Command
s -
simple-eyre
One of the simplest error reporters one can build ontop of eyre, defining only an error report
-
color-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.
-
add_macro
more additional macros to help you write code faster!
-
enum-rotate
Rotate and iterate your enums
-
koute/nes
emulator written in Rust
-
mstr
2-word, immutable Cow<str>
-
bon-cli
Dev tool for working with the
bon
crate -
kmacros
Useful macros
-
display_with
Return opaque impl Display and/or impl Debug types via display_with and debug_with
-
raw-cstr
Keep raw-cstrings in thread local storage for reuse
-
flexible-io
Wraps values such that dyn-safe IO traits need not appear as static bounds
-
mathelogos
as a functional programming language
-
jmespath_community
JMESPath is a query and transformation language for JSON
-
thisctx
Easily create error with contexts
-
extension-traits
Annotation to easily define ad-hoc / one-shot extension traits
-
impl_ops
Macros for easy operator overloading
-
try-guard
A guard! macro inspired by the guard Alternative function from Haskell
-
deno-bindgen2-common
Common library used by the deno-bindgen2 project. Contains mainly implmenentations for parsing and transforming Rust source code.
-
qbdi-sys
QBDI library rust binding (use rust bindgen)
-
fmu_from_struct
A derive macro for automatically setting up FMU models in Rust
-
imstr
Cheaply clonable and slicable immutable strings
-
medi-rs
mediator library for Rust
-
once_cell_serde
Single assignment cells and lazy values
-
procedural-masquerade
macro_rules for making proc_macro_derive pretending to be proc_macro
-
access-json
Use serde to query large nested structures in Rust. For low-effort, read-only FFI.
-
kstring
Key String: optimized for map keys
-
to_snake_case
that transforms strings to snake_case
-
supply-chain-trust-example-crate-000008
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.
-
flip-flop
implements the flip-flop operator from Perl and Ruby as a Rust macro
-
forangex
Range maker for foreward/backward and step may be larger than 1 (or less than -1), plus index support
-
htmxpress
Procedural macros for generating htmx strings
-
negative
impls in stable Rust
-
flaky_test
atttribute macro for running a flaky test multiple times
-
function_overloading
that adds function overloading
-
error-iter
Error::sources on stable Rust
-
turbostate
Finite State Machine
-
const-exhaustive
Enumerate all values of a type at compile time
-
fruit-salad
Compare apples and oranges (and more). Trait object reference casting and trait object comparisons.
-
imgref-iter
A small crate for iterating over the rows or columns of
imgref
buffers -
rdcl_aoc_helpers
Helpers for Advent of Code
-
replace_err
Adds a
replace_err
method toResult
which throws away the current error and replaces it -
hado
Monadic do notation using a macro
-
rama-error
error types and utilities for rama
-
perhaps
Maybe monad implementation with a more intuitive name. Using Certain and Dubious instead of Just and Nothing
-
matr
A metaprogramming library for Rust
-
quasi_iter
that contains supplementary iterator objects and methods
-
arc-interner
An interner that deallocates unused values
-
jsona-openapi
A openapi dsl in jsona
-
dyn-dyn
Flexible trait object downcasting using ptr_metadata
-
declarative_type_state
A collection of declarative macros to reduce boilerplate code when implementing type-state patterns
-
scope-lock
Safely extend lifetimes
-
scientisto
A light-weight Rust implementation of the github/scientist library used for careful refactoring of critical code paths
-
const-assert
Assert struct for const generics
-
let_clone
Declarative macro to clone multiple values at once
-
illicit
An implicit thread-local environment which is indexed by type
-
word_iter
Iterator over all words in a string
-
rsor
Reusable slice of references
-
tupperware
Storage traits for your types
-
cgp-error
Context-generic programming error components
-
standback
New standard library, old compiler
-
debugless-unwrap
Unwrap Result<!Debug, !Debug> and Option<!Debug>
-
irox-types
Enums and structs to describe Rust's basic type system
-
partially
Partial trait, and an optional macro to mirror a struct, wrapping each field in an Option
-
flatty-base
Flatty traits and primitives
-
once-fn
cache the result of a function, make it runs only once
-
nan-tag
NaN-tagged pointers in Rust, storing an f64 in the same space as a pointer
-
rustpython-literal
Common literal handling utilities mostly useful for unparse and repr
-
stub-macro
stub!() is a better version of todo!() that can be assigned to a variable
-
data_type_checker
A lightweight Rust library for validating and converting data types from strings
-
timely_container
Container abstractions for Timely
-
murrelet_livecode_macros
livecode macros for murrelet, a livecode framework
-
assert_unordered
A direct replacement for
assert_eq
for unordered collections -
scallop
Wrapper library for bash
-
maflow
Flow macros: basically unwrap for return, continue and break
-
rbtag
A procedural macro to add build DateTime and git commit information at compile time
-
read_lines_into
Read lines (from a Path, File, etc.) into a struct (a String, a Vec<String>), and with various ways to handle line endings and whitespace
-
boolean-enums
Generate enums with Yes and No variants. Supports no_std and serde.
-
unwrap_todo
Option::todo and Result::todo methods
-
enum_index
Trait and macros for extracting Enum variant index
-
notzero
macro for constructing
std::num::NonZero*
from constants -
delegare
delegate struct easy
-
trait_cast_rs
Get your own Any with support for casting to trait objects
-
serde-textual
derive Display/FromStr by using serde
-
kube-core
Kube shared types, traits and client-less behavior
-
posix-errors
Posix error codes and handy functions for using them
-
rust_bridge
The rust_bridge
-
lithium
Lightweight exceptions
-
fixed-macro-types
Macro aliases used in the
fixed-macro
crate -
zngur
A Rust/C++ interoperability tool
-
ftkit
A small set of utilities for newcomers learning Rust
-
maybe-uninit
MaybeUninit for friends of backwards compatibility
-
bidir_iter
Bidirectional iterators
-
doxed
making Rust doc strings available at runtime
-
apply
A tiny library for chaining free functions into method call chains
-
woah
A Result type that differentiates between local errors (which can be handled) and fatal errors (which cannot)
-
whiskers-widgets
Dynamic UI sub-system for whiskers
-
oxydized-money-macros
Companion library to oxydized-gains providing convenience macros
-
cantor
A general toolkit for working with types that have a small number of values
-
checked_sum
safely summing up iterators
-
hb_error
Useful macros and traits for creating and handling errors
-
merge2
Merge structs into single by values
-
tuplemagic
manipulating tuples through various operations like mapping, filtering, nesting, and reducing
-
partial_derive2
makes all the properties of a struct type an optional property
-
iter_ref
Traits for iterating over referenced data without consuming the iterator
-
eeric-interpreter
A front-end abstraction layer over eeric
-
maybe_path
Zero overhead static initializer for Path
-
ident-mash
Mash idents together inside macro_rules!
-
dyn_struct
Construct dynamically sized types safely
-
deferred-box
Defer the value set after the struct has been initialized
-
const_sort_rs
Sort slices in const items
-
osu-file-parser
parse an osu! beatmap file
-
custom_error_core
Define custom errors without boilerplate using the custom_error! macro
-
slice-utils
A collection of slice utils, like itertools
-
objectionable
storage of unsized types inline inside allocated objects
-
runtime-contracts
Structured, understandable runtime contracts
-
verbex
Vebex is a Rust library that provides procedural macros for creating regular expressions in a verbose and readable way
-
xconstants
Adds preliminary support for enum const generics
-
delegate-attr
Attribute proc-macro to delegate method to a field
-
oop
Object-Oriented Inheritence in Rust
-
squeak
providing types allowing execution of callbacks in response to values being broadcast or mutated
-
pad-adapter
that provides pad adapter
-
ghost-lite
custom PhantomData types
-
cudd-sys
Bindings for CU Decision Diagram library (CUDD)
-
casual
parsing user input
-
ferrite-session
Session Types DSL for Rust
-
opentalk-types-signaling-recording
Signaling types the OpenTalk recording module
-
curerr
easy error handling
-
brain_flak_macro
Brain-Flak macro
-
swapbytes
swapping the endianess of structures
-
burrtype
A framework for exporting types to other languages
-
chalk-macros
Macros for Chalk
-
redhook
Dynamic function call interposition / hooking (LD_PRELOAD) for Rust
-
enum-repr
Derive enum repr conversions compatible with type aliases
-
mapcomp
Python-like list comprehensions for standard containers
-
lurk-ipld-macro
lurk-ipld macro
-
thread-scoped-ref
that is similar to a thread local storage but allows to store references / dyn Trait within a scope
-
tch-tensor-like
Derive convenient methods for struct or enum of tch tensors
-
dyn-hash
Hash trait that is object-safe
-
type-uuid
Safe, stable IDs for Rust types
-
greedy_enum
derive macro of FromStr for enum
-
iterator_item
a generator syntax experiment
-
aspect
Toolkit for Rust
-
enum_macro
Useful macro for enum