-
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
-
once_cell
Single assignment cells and lazy values
-
ordered-float
Wrappers for total ordering on floats
-
num
A collection of numeric types and traits for Rust, including bigint, complex, rational, range iterators, generic integers, and more!
-
predicates
boolean-valued predicate functions
-
derive_builder
Rust macro to automatically implement the builder pattern for arbitrary structs
-
lazy_static
A macro for declaring lazily evaluated statics in Rust
-
async-stream
Asynchronous streams using async & await notation
-
num_enum
Procedural macros to make inter-operation between primitives and enums easier
-
miette
Fancy diagnostic reporting library and protocol for us mere mortals who aren't compiler hackers
-
validator
Common validation functions (email, url, length, …) and trait - to be used with
validator_derive
-
bytes
Types and traits for working with bytes
-
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
-
smol_str
small-string optimized string type with O(1) clone
-
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
-
similar-asserts
assert_eq! like macros with colorized diff output
-
frunk
developers with a number of functional programming tools like HList, Coproduct, Generic, LabelledGeneric, Validated, Monoid, Semigroup and friends
-
approx
Approximate floating point equality comparisons and assertions
-
pin-project-lite
A lightweight version of pin-project written with declarative macros
-
bon
Next-gen compile-time-checked builder generator, named function's arguments, and more!
-
memoffset
offset_of functionality for Rust structs
-
enum-iterator
Tools to iterate over all values of a type (e.g. all variants of an enumeration)
-
self_cell
Safe-to-use proc-macro-free self-referential structs in stable Rust
-
macro_rules_attribute
Use declarative macros in attribute or derive position
-
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… -
compiler_builtins
Compiler intrinsics used by the Rust compiler. Also available for other targets if necessary!
-
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
-
ref-cast
Safely cast &T to &U where the struct U contains a single field of type T
-
pin-project
safe and ergonomic pin-projection
-
az
Casts and checked casts
-
arrayref
Macros to take array references of slices
-
float-cmp
Floating point approximate comparison traits
-
nonempty
Correct by construction non-empty vector
-
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
-
tap
Generic extensions for tapping values in Rust
-
sptr
Strict Provenance Polyfill
-
inventory
Typed distributed plugin registration
-
error-stack
A context-aware error-handling library that supports arbitrary attached user data
-
cmd_lib
Common rust commandline macros and utils, to write shell script like tasks easily
-
decorum
Total ordering, equivalence, hashing, and constraints for floating-point types
-
amplify
Amplifying Rust language capabilities: multiple generic trait implementations, type wrappers, derive macros
-
cfg_aliases
A tiny utility to help save you a lot of effort with long winded
#[cfg()]
checks -
castaway
Safe, zero-cost downcasting for limited compile-time specialization
-
new_debug_unreachable
panic in debug, intrinsics::unreachable() in release (fork of debug_unreachable)
-
if_chain
Macro for writing nested
if let
expressions -
rustdoc-types
Types for rustdoc's json output
-
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
-
jaq-std
Standard library for jaq
-
nutype
The newtype with guarantees
-
flagset
Data types and a macro for generating enumeration-based bit flags
-
backon
Make retry like a built-in feature provided by Rust
-
safer-ffi
Write safer FFI code in Rust without polluting it with unsafe code
-
polonius-the-crab
Tools to feature more lenient Polonius-based borrow-checker patterns in stable Rust
-
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 -
assertables
assert macros for better testing, debugging, quality assurance, and runtime reliability
-
pact_consumer
Pact-Rust module that provides support for writing consumer pact tests
-
opaque-debug
Macro for opaque Debug trait implementation
-
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
-
abi_stable
For doing Rust-to-Rust ffi,writing libraries loaded at program startup
-
index_vec
Newtype-style helpers for
Vec
andusize
-
constcat
concat! with support for const variables and expressions
-
dlib
Helper macros for handling manually loading optional system libraries
-
volatile
wrapper types for raw pointers
-
iri-string
IRI as string types
-
async-once-cell
Async single assignment cells and lazy values
-
derive-where
Deriving with custom trait bounds
-
fallible_collections
adds fallible allocation api to std collections
-
float-ord
A total ordering for floating-point numbers
-
extism-pdk
Extism Plug-in Development Kit (PDK) for Rust
-
stdext
Extensions for the Rust standard library structures
-
unwinding
in Rust and for Rust
-
auto_impl
Automatically implement traits for common smart pointers and closures
-
typewit
type-witness-based abstractions, mostly for emulating polymorphism in const fns
-
lazy_format
lazily formatting values for later
-
fixedstr
strings of constant maximum size that can be copied and stack allocated using const generics
-
buffered-reader
A super-powered Reader
-
writeable
A more efficient alternative to fmt::Display
-
aws-smithy-types-convert
Conversion of types from aws-smithy-types to other libraries
-
color-eyre
An error report handler for panics and eyre::Reports for colorful, consistent, and well formatted error reports for all kinds of errors
-
bounded-integer
Bounded integers
-
static_init
Safe mutable static and non const static initialization, and code execution at program startup/exit
-
recursion
cache-aware stack safe recursion
-
by_address
Wrapper for comparing and hashing pointers by address
-
fallible-iterator
Fallible iterator traits
-
educe
offers procedural macros designed to facilitate the swift implementation of Rust's built-in traits
-
testresult
type for concise and precise test failures
-
iter-read
A Read implementation for iterators over u8 and related types
-
terrors
ergonomic and precise error handling built atop type-level set arithmetic
-
tuples
many useful tools related to tuples
-
parse-display
Procedural macro to implement Display and FromStr using common settings
-
async-trait
Type erasure for async trait methods
-
field-offset
Safe pointer-to-member implementation
-
virtue
A sinless derive macro helper
-
rustler
Safe Rust wrappers for creating Erlang NIF functions
-
byte-slice-cast
Safely cast bytes slices from/to slices of built-in fundamental numeric types
-
bounded-collections
Bounded types and their supporting traits
-
tynm
Returns type names in shorter form
-
maplit
Collection “literal” macros for HashMap, HashSet, BTreeMap, and BTreeSet
-
inout
Custom reference types for code generic over in-place and buffer-to-buffer modes of operation
-
easy-cast
Type conversions which are expected to succeed
-
fix-hidden-lifetime-bug
Proc-macro to write an automatic fix for the "hidden lifetime in impl Trait" issue
-
const-gen
generating (relatively) complex compile-time constants in rust
-
fatality
extension to
thiserror::Error
-
internal-iterator
Internal iteration equivalent of
std::iter::Iterator
-
cascade
Dart-like cascade macro for 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… -
konst
Const equivalents of std functions, compile-time comparison, and parsing
-
tryhard
Easily retry futures
-
retour
A cross-platform detour library written in Rust
-
indoc
Indented document literals
-
pinned-init
facilitate safe pinned initialization
-
fragile
wrapper types for sending non-send values to other threads
-
psm
Portable Stack Manipulation: stack manipulation and introspection routines
-
log-once
Collection of helper macros for logging some events only once
-
bounded-vec
Non-empty rust Vec wrapper with type guarantees on lower and upper bounds for items quantity
-
chalk-ir
Chalk's internal representation of types, goals, and clauses
-
thiserror-no-std
derive(Error)
-
safe-transmute
A safeguarded transmute() for Rust
-
pyo3-polars
Expression plugins and PyO3 types for polars
-
mirai-annotations
Macros that provide source code annotations for MIRAI
-
maybe-owned
MaybeOwned
(andMaybeOwnedMut
) type similar to std’sCow
but it implementsFrom<T>
andFrom<&'a T>
and does not requireToOwned
-
rustrict
profanity filter for Rust
-
argp
Derive-based argument parser optimized for code size
-
shaku
Compile Time Dependency Injection for Rust
-
retry
retrying operations that can fail
-
bounded-static
Defines the ToBoundedStatic and IntoBoundedStatic traits
-
advent-of-code
Solutions to Advent of Code
-
st-map
Runtime for a stack-alocated map
-
safelog
Conditionally suppress confidential information from logs
-
arr_macro
Initialize arrays with ease!
-
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
-
strck
Checked owned and borrowed strings
-
shopify_function
write Shopify Functions in Rust
-
moveit
safe, in-place construction of Rust (and C++!) objects
-
calendrical_calculations
Calendrical calculations in Rust
-
lending-iterator
Fully general lending iterators in stable rust: windows_mut!
-
autosurgeon
working with data in automerge documents
-
try_match
Fallible pattern matching with a function-like syntax
-
nshare
Conversion between n-dimensional types in different Rust crates
-
implicit-clone
Immutable types and ImplicitClone trait similar to Copy
-
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.
-
bit_field
bit field trait providing get_bit, get_bits, set_bit, and set_bits methods for Rust's integral types
-
tuplex
Rust tuple extension
-
core_extensions
Extensions for core/std library types, and other miscelaneous features
-
k8-client
Core Kubernetes metadata traits
-
anymap3
A safe and convenient store for one value of each type
-
socketpair
Cross-platform socketpair functionality
-
servo_arc
A fork of std::sync::Arc with some extra functionality and without weak references
-
o2o
Object to Object mapper for Rust. Derive '(Try)From' and '(Try)Into' traits.
-
vtable
Helper crate to generate ffi-friendly virtual tables
-
conjure-object
Runtime support for generated Conjure objects
-
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. -
joinery
A small crate for generically joining iterators with a separator
-
version-sync
ensuring that version numbers in README files and other files are kept in sync with the crate version
-
overload
macro to simplify operator overloading
-
aargvark
Self-similar argument parsing
-
capacity_builder
Builders where the code to calculate the capacity is the same as the code to write what's being built
-
mirror-mirror
Reflection library for Rust
-
ra_ap_mbe
Handling of
macro_rules
macros for rust-analyzer -
fluent-comparisons
Boost readability by writing multicomparison expressions like
if any_of!({a,b,c}>=5) {...}
while keeping the benefits of hand-written code -
rust-fsm
A framework and a DSL for building finite state machines in Rust
-
lowdash
A Lodash inspired utility library to manipulate array and object
-
parsel
Zero-code parser generation by using AST node types as the grammar
-
aoc-parse
A little library for parsing your Advent of Code puzzle input
-
reborrow
Emulate reborrowing for user types
-
cl-format
Use Common Lisp format in Rust
-
display-error-chain
Formats a standard error and its sources
-
random-number
Generate random numbers quickly
-
concat-with
Extend the function of the
concat!
macro instd
-
flex-error
Flexible error definitions using macros and traits
-
lazycell
providing a lazily filled Cell struct
-
cast_trait_object
Cast between trait objects using only safe Rust
-
macon
builder macro-based generator with its own idioms
-
documented
Derive and attribute macros for accessing your type's documentation at runtime
-
elain
Set a type's minimum alignment with const generics
-
lazy_errors
Effortlessly create, group, and nest arbitrary errors, and defer error handling ergonomically
-
sealed
Macro for sealing traits and structures
-
void
The uninhabited void type for use in statically impossible cases
-
timely_bytes
Disjoint mutable byte slices from a common allocation
-
funty
Trait generalization over the primitive types
-
oxc_index
Newtype-style helpers for
Vec
andusize
-
octseq
Abstractions for types representing octet sequences
-
libc-print
println! and eprintln! macros on libc without stdlib
-
myutil
Rust Util Collections
-
cap-std-ext
Extension APIs for cap-std
-
conflate
Merge multiple values into one
-
formatx
A macro for formatting non literal strings at runtime
-
miden-miette
Fancy diagnostic reporting library and protocol for us mere mortals who aren't compiler hackers
-
tor-error
unified type-erased error type returned by many (esp. high-level) Tor APIs.
-
extend
Create extensions for types you don't own with extension traits but without the boilerplate
-
zoet
Adds
#[zoet]
macro to reduce boilerplate when implementing common traits -
refined_type
imbuing rules into types and elevating them to more robust types
-
thiserror-core
derive(Error)
-
rustversion
Conditional compilation according to rustc compiler version
-
better_scoped_tls
scoped-tls, but with good error message
-
data-rw
io buffer write reader
-
mitsein
Strongly typed APIs for non-empty collections, slices, and iterators
-
semval
Semantic validation
-
iterate-trait
Experiment with methods on IntoIterator
-
with_locals
Function attribute to return references to locals by using CPS
-
deno_error
Error representation to JavaScript for deno
-
fn_vm
A lightweight frame based virtual machine, meant as the base for rigz_vm
-
fixed-hash
Macros to define custom fixed-size hash types
-
copyless
Ways to eliminate memcpy calls when using the standard library
-
bool_ext
defines and implements a complete set of
Option
/Result
-style Boolean functional combinators on Rust’sbool
primitive type -
doc-comment
Macro to generate doc comments
-
generics
macros for parsing generics (with optional where clause) in
macro_rules!
-
devise
devising derives and other procedural macros
-
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… -
condtype
Choose types at compile-time via boolean constants
-
k8s-openapi-codegen-common
Common code for the k8s-openapi code generator and k8s-openapi-derive
-
open-enum
An attribute for generating "open" fieldless enums, those that accept any integer value, by using a newtype struct and associated constants
-
enum-ptr
Ergonomic tagged pointer
-
exhaust
Trait and derive macro for working with all possible values of a type (exhaustive enumeration)
-
i_float
This fixed float math library provides an efficient and deterministic solution for arithmetic and geometric operations
-
buildstructor
Macro to derive a builder from a constructor function
-
dync
An efficient alternative to
dyn Trait
for containerized types -
munge
Macro for custom destructuring
-
autofolder
Single-element folding wrapper
-
const-field-offset
Wrapper around field-offset crate and const-field-offset-macro
-
ungrammar
A DSL for describing concrete syntax trees
-
dispose
wrapper for values that must be consumed on drop
-
swipl
A high-level library for building SWI-Prolog extensions and embedding SWI-Prolog in rust applications
-
rust_info
Extracts the current rust compiler information
-
andex
Safe, strongly typed array indexes and wrappers for rust with zero dependencies
-
xx
A collection of useful Rust macros and small functions
-
phantom-type
A
PhantomData
analog which prevents “parameter is never used” error, but does not produce any restrictions in contrast withPhantomData
-
qualifier_attr
Procedural macro attributes for adding "qualifiers" (pub, async, unsafe, const, extern "C", ...) to various items
-
fmt2io
A bridge between std::io::Write and std::fmt::Write
-
sugars
An useful collection of macros to make tasks easier
-
culpa
error-handling syntax in Rust
-
entrait
Loosely coupled Rust application design made easy
-
TSPL
The Simplest Parser Library
-
resiter
Helper crate for handling iterators over result
-
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.
-
nunny
the definitive non-empty slice/array/vec library for Rust
-
psl-types
Common types for the public suffix implementation crates
-
raw-parts
Ergonomic wrapper around
Vec::from_raw_parts
andVec::into_raw_parts
-
btypes
Better types (BTypes) for when you dislike normal types, I guess
-
blanket
macro to derive blanket implementations for your traits
-
vitasdk-sys
Raw bindings to vitasdk
-
radiation
Convert Rust type into raw bytes and vice versa
-
custom_error
Define custom errors without boilerplate using the custom_error! macro
-
macro-attr-2018
macro_attr!
macro that enables the use of custom, macro-based attributes and derivations -
comfy-bounded-ints
Bounded-integer types focused on ergonomics and safety. (See README.md)
-
macro-asm-builder
macro-assemblers
-
egui-probe
Trait and derive macro for exposing value editing in egui
-
metastruct
Abstractions for iterating and mapping over struct fields
-
pandora-interpreter
A command-line tool to run pandora language
-
doku
A framework for documenting Rust data structures
-
trybuild-internals-api
A fork of trybuild with the internals exposed as a public API
-
heart
Hypermedia-based web development of the 1990 future!
-
aerosol
dependency injection for Rust
-
soa-rs
A Vec-like structure-of-arrays container
-
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.
-
fallible-streaming-iterator
Fallible streaming iteration
-
more-di
support for dependency injection (DI)
-
nar_dev_utils
用于NARS相关项目开发的实用工具包
-
one_err
OneErr to rule them all
-
hermit-sync
Synchronization primitives for kernels
-
leptos-mview
A concise view macro for Leptos
-
globals
Painless global variables in Rust
-
stak-r7rs
Stak Scheme primitives for R7RS
-
enum-display
A macro to derive Display for enums
-
capnp_conv
capnp write/read traits to convert from structs to readers/builders
-
wmlua
-
moddef
Macro for convenient module declaration. Each module can be put in a group, and visibility can be applied to the whole group with ease.
-
event-driven-library
Event Driven Message Handling
-
fmt-cmp
Traits and utilities for lexicographically comparing values in their
Display
representations -
defer
excecution of code, inspired by go's defer statement
-
downcast
Trait for downcasting trait objects back to their original types
-
scale-typegen
Type Generation for SCALE encoded Rust Types
-
allow
Alias/label lints (to disable) with your intentions. Reexported from allow_prefixed, grouped under rustc::, clippy:: and rustdoc:: modules.
-
tinyvec_macros
Some macros for tiny containers
-
generativity
Generation of unique invariant lifetimes
-
autofloat
Pure Rust library for efficient automatic differentiation
-
checked-rs
encoding validation semantics into the type system
-
cexpr
A C expression parser and evaluator
-
copy_from_str
An extension trait to copy a string into another string
-
rudi
out-of-the-box dependency injection framework for Rust
-
auto_enums
allow multiple return types by automatically generated enum
-
human-errors
An error library focused on providing your users with relevant advice for any problem
-
fauxgen
write your own generators in stable rust
-
smarterr
Smart error handling library
-
heterob
conversion between bytes/bits and heterogeneous lists (tuples)
-
proc-bitfield
expressively declare bitfield-like structs
-
sosecrets-rs
Secret
wrapper type that reveals the secret at mostMEC: typenum::Unsigned
times with compile time guarantees -
tstr
Type-level strings
-
slice_ops
A selection of useful slice operations
-
strong-type
Procedural macros for naming and strong-typing pritimives and strings
-
fomat-macros
Alternative syntax for print/write/format-like macros with a small templating language
-
enum-assoc
Procedural macro to associate constants with enum variants
-
assert_approx_eq
assert approximately equal
-
shape
A decidable static shape system for JSON-like data
-
text-block-macros
Create a multiline string literal
-
cowstr
Copy-on-Write shared strings
-
wiwi
Stuff™
-
dylint_linting
writing Dylint libraries
-
hlist2
Compile-time heterogeneous list implementation
-
scaffolding-core
A software development kit that provides the scaffolding for building applications and services using OOP
-
direction
Representations of directions
-
validify
struct validation and modification functionality through the use of derive macros
-
synonym
Customizable derive macro to create newtypes. It peeks into the underlying type to choose which traits should be implemented.
-
windows-targets
Import libs for Windows
-
endian-writer
[no_std] Methods for efficient reading and writing of structures to raw pointers in a stream-like fashion
-
byondapi
Idiomatic Rust bindings for BYONDAPI
-
self-rust-tokenize
Turns instances of Rust structures into a token stream that creates the instance
-
columnation
Unsafe columnar containers for native Rust types
-
unsafe-fields
unsafe to access or modify fields with safety invariants
-
cove
Casts Of Varying Elegance (COVE): extension traits for casting numerical types
-
mownstr
Maybe Owned String
-
lazy-static-include
lazy_static_include_bytes
andlazy_static_include_str
macros to replaceinclude_bytes
andinclude_str
macros -
numtest
Unit testing for numerical methods
-
is_empty
Easily check if the struct is empty
-
egui_struct
EguiStruct is a rust derive macro that creates egui UI's from arbitrary structs and enums
-
orx-closure
An explicit closure with absolute seperation of the captured data from the function
-
hax-lib
Hax-specific helpers for Rust programs
-
iced_anim
creating animations in Iced
-
anyinput
A macro for easier writing of functions that accept any string-, path-, iterator-, array-, or ndarray-like input
-
collate
Traits and a data structure to support collation and bisection
-
a1
A package for converting to and from A1 spreadsheet notation
-
ghost
Define your own PhantomData
-
components-arena
creating complex domain-specific self-referential data structures
-
next_tuple
A trait to build and extend tuples
-
logkit
Super fast, structured, scalable logging library for Rust
-
drop_bomb
A runtime guard for implementing linear types
-
kind
Costless typed identifiers backed by UUID, with kind readable in serialized versions
-
model-mapper
Derive macro to map between different types
-
io-streams
Unbuffered and unlocked I/O streams
-
const-type-layout
Derivable const trait to view and compare the layout of a struct, union, or enum
-
cbor-data
using CBOR as in-memory representation for working with dynamically shaped data
-
jnix
High-level extensions to help with the usage of JNI in Rust code
-
crustal
generating C/C++ code
-
bool_vec
A crates that exposes a vector called BoolVec which allows you to store a boolean in a single bit
-
tc-error
TinyChain's generic error struct
-
bilge
Use bitsized types as if they were a feature of rust
-
ice_code
A macro to mark code paths as cold, allowing the common case to be inlined
-
drcp-format
Parse and write DRCP and literal definition files
-
ownable
Derive macro for structs/enums with Cow, which can convert Type<'a> to Type<'static> and more
-
oxrdf
providing basic data structures related to RDF
-
untrusted_value
aim to provide a type-safe way to handle and sanitize potentially untrusted values like user input
-
essential-vm
The Essential VM
-
certain-map
A typed map which can make sure item exist
-
tokenlock
cell types that decouple permissions from data
-
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) -
auto_ops
Macros for easy operator overloading
-
static-keys
Reimplement Linux kernel static keys for Rust userland applications
-
portaldi
An ergonomic lightweight compile-time depencency injection library
-
deptypes
Dependent types
-
tisel
Effective type-based pseudodynamic dispatch to impls, enums and typeid
-
light_ranged_integers
Ranged integers for stable Rust compiler, zero-dependencies and no unsafe code
-
expect-exit
Result.expected(): display an error message and exit without a panic
-
parsey
parser-generator framework
-
rxml_validation
Plumbing crate for rxml and rxml_proc crates
-
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 -
derive_destructure2
Destructure structs that implement Drop
-
redb_model
Redb model derive macro and DTO type conversion
-
fp_rust
Implement fp features for Rust
-
tor-basic-utils
General helpers used by Tor
-
cfg-iif
A macro for defining
#[cfg]
if-else
functions -
ext-trait
Annotation to easily define ad-hoc / one-shot extension traits
-
dogma
Dogma.rs
-
uniplate
boilerplate-free operations on tree-shaped data types
-
conv2
number of conversion traits with more specific semantics than those provided by 'as' or 'From'/'Into'
-
nameof
macro to determine the string name of a binding, type, const, or function
-
random_variant
To be used with all variant, contains the derive macro
-
bignumbe-rs
Large, medium-precision numbers
-
fastn-type
fastn: Full-stack Web Development Made Easy
-
functor_derive
A derive macro to derive a functor for a type
-
trait-cast
Get your own Any with support for casting to trait objects
-
rs_envflag
An easy way to define flags by environment variables
-
rusty_gui
GUI library for Rust
-
dprint-swc-ext
Functionality to make swc easier to work with
-
borrowme
The missing compound borrowing for Rust
-
funcmap
Derivable functorial mappings for Rust
-
result-like
Option/Result-like monad interface for your own enum
-
swift-rs-hatter-fork
Call Swift from Rust with ease!
-
ffi_helpers
help make working with FFI easier
-
try-specialize
Zero-cost specialization in generic context on stable Rust
-
tupletools
functions for tuples
-
wrap-match
A procedural macro to wrap a function in match statement to make error logging super easy
-
tardar
Extensions for diagnostic error handling with
miette
-
as-any
provide the AsAny trait
-
yerevan
Small Rust crate that brings computation expressions idea from F# for help you to work easier with functors and monads
-
dynamodel
derive macro to implement conversions between your object and
HashMap<String, AttributeValue>
-
mapper
Mapping macro to help to reduce mapping boilerplate
-
alternating-iter
Provide an iterator adaptor which alternate between two iterators
-
fn-traits
function traits like the standard library ones, but can be used in stable Rust
-
kinded
Generate enums with same variants, but without data
-
linear_type
Linear types for rust
-
intern-arc
An interner that deallocates unused values
-
twinsies
Smart pointer providing 2-way joint ownership of an object
-
nu-std
The standard library of Nushell
-
padder
Highly efficient data and string formatting library for Rust
-
conv
number of conversion traits with more specific semantics than those provided by 'as' or 'From'/'Into'
-
ref_iter
Dynamic borrowing iterator
-
bellframe
Fast and idiomatic primitives for Change Ringing
-
impls
Determine if a type implements a logical trait expression
-
cortex-ai
An asynchronous flow-based processing framework for building flexible data pipelines with conditional branching and error handling
-
reweb3-num
Arbitrary precision, fixed-size signed and unsigned integer types for ethereum, this a fork of bnum crate
-
iter_num_tools
Create simple iterators over non integer ranges. itertools + num = iter_num_tools
-
ctrlgen
Generate enums for message-passing services
-
variadiz
Variadic function support for rust
-
sitrep
Frontend-agnostic progress reporting
-
nonany
Integer types with customizable niche values
-
ergokv
Easily store and retrieve data from TiKV with a derive
-
async_labjack
A pure rust, async interface to the LabJack T-series via Modbus TCP
-
merge
multiple values into one
-
hex_lit
Hex macro literals without use of hex macros
-
axum-openapi3
Facilitate the generation of OpenAPI 3.0 documentation for axum applications
-
opentalk-kustos-prefix
Derive macro for defining kustos prefix
-
stack_dst
A wrapper that allows storage of unsized values of up to a fixed size inline (without boxing)
-
loupe
Profiling tool for Rust
-
backtrace-error
wrap errors with automatic backtrace capture and print-on-result-unwrap
-
one_two_eight
typed 128-bit identifiers
-
dialogue-macro
An extension to dialoguer that simplifies command-line interaction interfaces
-
sod
Service Oriented Design
-
small_len
A small library for storing the length in the smallest internal type
-
pike
A macro collection to pipe |> your functions calls, like in functional languages such as F#, Elixir and OCamel
-
termite-dmg
Termite Data Model Generator is a crate meant to generate boiler plate code for data models
-
iter-identify_first_last
A helper iterator, flagging first and last elements
-
safe_math
Math without overflow, creates an enum and a macro to help mitigate any overflow while multiplying and adding
-
implementation
The implementation crate
-
mvutils
made from commonly used functions in my projects
-
inline-c
Write and execute C code inside Rust
-
stupid_utils
that provides some simple and maybe stupid or useful tools
-
selfie
Experimental, macro-free and allocation-free self-referential structs
-
const-default
A const Default trait
-
enum_cycling
Small macro for working with enums
-
vector-traits
Rust traits for 2D and 3D vector types
-
prange2
Parse numeric ranges for indexing
-
iter-comprehensions
iterator comprehensions
-
sigmut
a state management framework designed to be used as a foundation for UI frameworks
-
default-constructor
Macros for creating pseudo-dsls that constructs structs through default construction and field conversion
-
rust-quiz
Medium to hard Rust questions with complete explanations
-
case_insensitive_string
A case insensitive string struct
-
oxc-miette
Fancy diagnostic reporting library and protocol for us mere mortals who aren't compiler hackers
-
rp-postgrest-error
strongly typed errors for PostgREST
-
quoth
scannerless (no-lexing), developer-friendly parsing library for implementing DSLs and syntax parsers in Rust
-
slice-diff-patch
providing utility functions for diff and patch of slices
-
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
-
ssi-di-sd-primitives
Selective Disclosure primitive for Data-Integrity suites
-
ex_em_ell
Provide macros for serializing and deserializing XML
-
rancor
Scalable and efficient error handling without type composition
-
evcxr_repl
A REPL for Rust
-
devela
A development foundation
-
gen_ops
Macros for operator overloading for generic types
-
ra_ap_hir_expand
Macro expansion for rust-analyzer
-
animatron
Animation state management
-
nanokit
A collection of tiny, reusable utility methods that reduce code size and improve performance
-
bio-types
A collection of common biomedical types for use in rust-bio and rust-htslib
-
procmeta
integration procmeta-core and procmeta-proc
-
structx
Simulating anonymous struct and named arguments in Rust
-
never
A stable version of the unstable never type (!)
-
indexed_valued_enums
Create enums resolving into values, and get their variants back through their values or their discriminant, inspired by Java
-
unarray
working with uninitialized arrays
-
re_tuid
128-bit Time-based Unique Identifier
-
linked_list_r4l
Linked lists that supports arbitrary removal in constant time
-
openapi_type
OpenAPI type information for Rust structs and enums
-
command-macros
Macros for creating std::process::Command with shell-like syntax
-
elvish
Overengineered Advent of Code framework - not quite Santa's elves
-
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)
-
simple-logging
logger for the log facade
-
pipe-trait
possible to chain regular functions
-
ecksport-core
Defs for frame types, traits, topics, error codes, etc
-
guard
Macro implementation of RFC 1303: a guard-let-else statement a la Swift
-
thiserror-ext
Useful extension utilities for
thiserror
-
value-box
Allows developers to pass Rust-allocated structures over ffi
-
coi
Dependency Injection library
-
miden-thiserror
derive(Error) with no-std support
-
focusable
A trait for types that can be focused
-
iterstats
Statistics for rust iterators
-
pretty-error-debug
If the process ends with an
Error
, write out theError
message and chain -
derive-ctor
Adds
#[derive(ctor)]
which allows for the auto-generation of struct, enum, and union constructors -
ranged_integers
An integer restricted to a compile-time defined bounds driven by const generics
-
maybe-single
A singleton. Maybe.
-
crevice_notan
Create GLSL-compatible versions of structs with explicitly-initialized padding
-
panicking
std::thread::panicking
analog available in theno_std
context -
fromsuper
Macro helpers to derive new sub-structs from existing super-structs, potentially unpacking Options
-
char-device
Character Device I/O
-
oco_ref
A smart pointer for storing immutable values with relatively-cheap cloning. (Like a
Cow
meets anRc
!) -
with_drop
Nostd wrapper for using a closure as a custom drop function
-
traitsequence
Traits to abstract over sequences
-
fn_macro
函数宏
-
sparkles
Capture execution flow of your Rust application with CPU cycle precision!
-
enumerable
helping you to enumerate all possible values of a type
-
fmt-interspersed
write an iterator's items, interspersed with a separator, to a destination
-
tri_ton
A Macro for Handling Exceptions
-
lexi-matic
A Lexer Library
-
surrealdb-extras
additional functionality for working with SurrealDB
-
rustdoc-prettier
Format //! and /// comments with prettier
-
test_help-rs
Test helpers for Rust
-
async-iterator
An async version of iterator
-
cprint
Cargo-like print
-
unwrap-ord
Wrapper type to easily convert Ord to PartialOrd. inspired by std::cmp::Reverse
-
glam-traits
Traits for the vectors in glam
-
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. -
rngstr
A cli tool for generating random strings of characters with customization options and a small domain specific language
-
cast
Ergonomic, checked cast functions for primitive types
-
eventastic
opinionated fork of Eventually-rs. It enforces the use of transactions and handles idempotency.
-
rc-box
Known unique versions of Rc and Arc
-
sapp-jsutils
Helper functions for working with js objects in miniquad based apps
-
processmanager
manage process lifecycles, graceful shutdown and process faults
-
nade
Adding named and default arguments to Rust functions
-
vcell
Cell
with volatile read / write operations -
std-next
Opinionated utilities and polyfills
-
type_cell
Attach values statically to a type using static get/set methods
-
merg
Merge multiple values into one
-
swift-bridge-build
Parse Rust files for swift-bridge modules and generate the corresponding Swift and C code for them
-
snowflaked
creating and working with snowflake ids
-
probe
Static instrumentation probes
-
tagged-id
A zero-cost wrapper adding type-safety to resource identifiers
-
not-found-error
Convert Option to Result using convenient functions
-
oxidd-rules-bdd
Binary decision diagrams (BDDs) for OxiDD
-
outref
Out reference
-
derive-alias
Alias multiple derives as one
-
teleparse
-
rempl
creating html components directly in your source
-
corlib
A various ideas library
-
binread
helping read structs from binary data using ✨macro magic✨
-
static_file_util
generating and managing static files in Rust applications
-
aliri_braid
Improve and strengthen your strings by making them strongly-typed with less boilerplate
-
captur
Macro to capture whole structs from disjoint fields in a closure
-
io-enum
#[derive(Read, Write, Seek, BufRead)] for enums
-
nolife
open a scope and then freeze it in time for future access
-
width_counters
Atomic counters with variable bit widths and customizable atomic ordering
-
native_api_1c
Main library for Native API 1C
-
context-async
context handle async future timeout or cancel
-
inline-python
Inline Python code directly in your Rust code
-
code-path
A code path macro
-
as-is
An abstraction over ownership
-
derive-insert
GetOrInsert
trait for enums and its derive macro -
smol_buf
small-string optimized string / buffer type with O(1) clone
-
agb_fixnum
abstracting over fixed precision numbers. Designed for use with the agb library for the Game Boy Advance
-
string_more
Extension traits for
String
and&str
types -
binf
that adds utilities for dealing with binary flags
-
defer-heavy
A versatile and easy to use defer statement for Rust. Similar to Go's or Zig's defer.
-
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… -
mago-typing
basic type inference for PHP code, deducing variable and return types to assist in static analysis and automated tooling
-
anybytes
A small library abstracting over bytes owning types in an extensible way
-
nostd
Missing std types for no_std development
-
simple-error
error type backed by a string
-
awint_macro_internals
Internal macro utilities for the
awint
system of crates -
precomputed-hash
intending to be a base dependency to expose a precomputed hash
-
scout-parser
A web crawling programming language
-
soa_derive
Automatic Struct of Array generation
-
dyn_std
Dynamic (object-safe) version of std traits
-
borrow-or-share
Traits for either borrowing or sharing data
-
transient
Reimplementation of
std::any::Any
with support for non-'static
types -
error_mapper
standardized Results and Errors handling accross all your projects
-
primitive-from-enum
macros for get primitive enum from complex
-
libabort
A abort function that doesn't require the standard library
-
hzrd
Shared mutability containers based on hazard pointers
-
plain_hasher
Hasher for 32-byte keys
-
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 -
no-break
Typesafe extraction of continuation values from unbreakable control flows
-
cubob
Structured output helpers for display mode
-
deriving_via
DerivingVia
-
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 -
indicator
Abstractions for stream aggregation, we call them
Indicator
s -
tevec
provide quantitative analysis functions for vec | ndarray | polars backend
-
custom_derive
(Note: superseded by
macro-attr
) This crate provides a macro that enables the use of custom derive attributes -
db
ergonomic and precise error handling built atop type-level set arithmetic
-
safecast
Traits to define safe casting between types
-
service-builder
A lightweight, type-safe service construction library for Rust that provides compile-time dependency injection through builder pattern
-
slice_map
A generic container to store a single type of data into unevenly sized slices
-
take-until
A take_until extension for iterators
-
cplex-rs
Binding of IBM Cplex library
-
deltoid
calculate and apply deltas to structs and enums
-
vtid
generating volatile type IDs
-
pgde
A macro library for consuming PostgreSQL row data into structs
-
flexi_func_declarative
exposes the fb! macro to create a function with a flexible signature
-
ty_map_gen
A type projecting map generator
-
transitive
derive macros for Rust
-
fixed-type-id
Make your types have a fixed type id&stable type name with version support between different builds
-
copstr
COpy STRing module
-
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
. -
iderive
Drop-in replacement for derive that doesn't directly depend on generic bounds
-
size-of-trait
determine the size of a future or trait impl at compile time
-
assert-eq-float
assert_eq_float!
macros that support floats -
convert_traits
Define your own conversion traits to solve the problem of converting two external types without using new types
-
quick-error
A macro which makes error types pleasant to write
-
nougat
(lifetime) GATs on stable Rust
-
capture-it
Modern c++-ish capture syntax for rust
-
niloecl
axum handler pattern for twilight interactions
-
deep_safe_drop
Safe dropping of deep trees that otherwise could cause stack overflow
-
panic-message
Get a panic message from a panic payload
-
simple_parse
A declarative converter for Rust type to and from binary
-
rustdoc-stripper
manipulate rustdoc comments
-
traitreg
Create a registry of implementations of a trait
-
gh-workflow-tailcall
macros for gh-workflow
-
airbag
handling errors and panics using 3rd party services
-
fixedstr-ext
A fork of fixedstr, which add more const functions to it
-
elicit
SmartPointer-like structure for polymorphism
-
mode
A behavioral state machine library written in Rust
-
jni-toolbox
tools to make writing JNI native functions less tiresome
-
unwind-context
Macro to add colored panic context to your functions
-
uints
Unsigned Integer Properties
-
nonzero_ext
Extensions and additional traits for non-zero integer types
-
sodium
FRP (Functional Reactive Programming)
-
currying
anything implementing
FnOnce
. Arguments can be passed one at a time, yielding a new something implementingFnOnce
(and possiblyFnMut
andFn
) which can be called with one less argument. -
ref-ops
An escape hatch for implementing
ops
traits for references to newtypes -
hs-bindgen
Handy macro to generate C-FFI bindings to Rust for Haskell
-
enum_ext
procedural macro that enhances enums with additional methods and conversions
-
slippery-iter
Easy to use abstinential (slippery), N-peekable and rewindable wrapper over an iterator. (Nightly Rust)
-
cloudformatious
Extension traits for rusoto_cloudformation
-
sqler
way for writing SQL queries using some of Rust syntax
-
heap-array
variable length array, with its main benefit over
Vec
is taking up less space -
c8str
String types that are both utf-8 and null terminated
-
crony
cron runner that spawns another thread to run your cron jobs
-
tf2-sku
SKU parser for Team Fortress 2 items
-
flatty-portable
Flatty portable trait and primitives
-
aquamarine-demo-crate
A demo crate for aquamarine -- the mermaid.js integration for rustdoc
-
fcitx5-dbus
fcitx5 dbus interface for rust
-
hax-frontend-exporter-options
The options the
hax-frontend-exporter
crate is sensible to -
dynarg
mechanism for dynamic robust argument handling
-
separator
Formats numbers into strings with thousands separators for readability
-
vsprintf
Rust bindings to the libc vsprintf function
-
ruut-functions
parse math functions from string (1D,2D,3D,ND) and perform symbolic derivation, gradient, hessian
-
commonware-consensus
Order opaque messages in a Byzantine environment
-
compare_version
comparing semantic versioning strings and checking version compatibility
-
soapy
Structure-of-arrays derive macro
-
tuple_split
An extension for the tupleops crate which adds a trait for splitting tuples
-
pyo3-error
Unified error causality chains across Rust and Python
-
iced_af
The iced application framework project
-
visibility
Attribute to override the visibility of items (useful in conjunction with cfg_attr)
-
stackerror
A pragmatic error handling library for Rust that provides helpful strings for debugging, and structured data for runtime error handling
-
enum_handler
A macro to generate a handler trait for enums variants
-
string_capacity
Moved to capacity_builder
-
ointers
What do you call a pointer we stole the high bits off? An ointer
-
sbpf-asm-macros
Ergonomic macros for low-level sBPF ASM functionality
-
reductor
Generic abstractions for combining and nesting reduction patterns for iterables
-
more-itertools
python more-itertools
-
calibrator
methods for calibration of scalar and vector measurement systems
-
advancedresearch-path_iter
A cocategory enumeration library based on path semantics
-
sumtype
Generate zerocost sumtype of iterators or closures
-
docpos
Compact-document items after defining them (fn, struct, enum) + document fn parameters with rustdoc (⑂roxygen)
-
game_inventory
An inventory system independant of item data
-
duplicate_macrotest
Fork of the macrotest crate specifically to test the duplicate crate
-
anyrust
any rust
-
hexchat-plugin
Lets you write HexChat plugins in Rust
-
enumeration
An extension to rust enum
-
argcall
Enables enums and structs to be callable by associating functions with their variants or fields
-
conerror
macro that automatically adds context to errors
-
token-ref-cell
Interior mutability cell using an external token to synchronize accesses
-
cve-rs
Blazingly fast memory vulnerabilities, written in 100% safe Rust
-
pin-macros
primarly used to simplify the proccess of working with self-referencial structures
-
ez_jni
Macros and functions that make using Java in rust feel natural
-
wallee
Flexible concrete Error type built on std::error::Error with caller location tracking
-
func
that helps creating colsures from function pointers
-
sod-actix-web
Service Oriented Design - Actix Web
-
ux2
Non-standard integer types like
u7
,u9
,u10
,u63
,i7
,i9
etc -
map
map!
macro andmap_insert!
macro, to create a HashMap collection and insert key-value pairs. Inspired by thevec!
macro. -
opaque_typedef
Supports defining opaque typedefs
-
iterator-sorted
Stable functions for checking iterator sorting
-
supply
Provider API for arbitrary number of lifetimes
-
bash-builtins
implement loadable builtins for bash
-
set_derive
Using Macros to Implement List comprehension Similar to Python Language
-
lichen
Scripting DSL (for Dialogue Graphs, et al)
-
copyvec
A contiguous growable array type, with a fixed, stack-alllocated capacity that implements Copy
-
fiberplane-pdk
Fiberplane Provider Development Kit
-
nanotweaks
moved to https://crates.io/crates/spread_macros
-
exhaustive
The trait for generating all values of a type, and a property-based test macro
-
log_limit
A rate limiting logging crate
-
plectrum
An easy way to represent lookup tables in a db as rust enums
-
deno-bindgen2
An FFI bindings generator for Deno
-
range_checker
derive-macro crate aimed to provide declarative bounds checking and filtering for structure
-
saturating_add_assign
Convenience macro for AddAssign with saturating arithmetic
-
specler
way to write specifications on values
-
prima_bridge
implement the bridge pattern
-
clamp_to
Clamp integer and float values to the values that fit within both the original number type and the receiving type
-
genrc
refcounted pointer type that allows subobject pointers
-
gazebo
A collection of well-tested utilities
-
overloaded_literals
Overloaded Literals to construct your datatypes without boilerplate and with compile-time validation
-
tuple_utils
A set of utilities to enable higher level operations over tuples
-
oc-hook-macros
Some convenient macros for hooking Objective-C functions
-
anthill-di
Rust di containers system
-
genmesh
A package for generating 3D meshes
-
tighterror
A minimalistic error representation framework
-
v8_derive
Derive macros and helpers for Rusty v8
-
abcgen
A procedural macro to generate boilerplate code for objects implementing the 'Actor' pattern
-
restructed
Quickly derive subsets of your structs
-
declarative_enum_dispatch
Declarative macro generating boilerplate for enum dispatch
-
accountable-refcell
A RefCell wrapper that provides actionable information for dynamic borrow failures
-
thiserror-context
A wrapper around thiserror, giving you the ability to add context
-
cgp-async
Async-generic primitives to support both sync/async in context-generic programming
-
suitest
quality of life test suites
-
ubits
Bit fields and masks
-
bogdan_hello_macro
adds the method hello_macro that generates a greeting based on the name of the struct
-
mago-service
Integrates multiple PHP tooling capabilities—such as parsing, linting, and formatting—into a unified interface for easier tool orchestration
-
benri
Convenient macros wrapping the standard library
-
home-prelude
Prelude library to support home applications
-
surreal_devl
Contains core logic of surreal derive
-
htmlm
html macro with no dependencies
-
chasa
A parser combinator with
many
taking iterator, conditional branching, and method chain -
shorter-bounds
Write shorter bounds with a trait alias macro
-
labview-interop
Types and wrappers for interperating with LabVIEW when called as a library
-
concat-in-place
Efficient macros for concatenation of strings and vectors
-
hello-world-in-rust
Hello World!
-
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_wrapper
Wrapper of dynamically borrowed data
-
chainerror
Make chaining errors easy
-
portrait
Fills an
impl
with the associated items required by the trait -
easy-error
error utilities
-
tacit
macro to make newtypes easier to create
-
combin-iterator
Some usefull facilities for combining iterators
-
rustrix
Supports macro and basic operations for matrix
-
cmdstruct
A lightweight macro for implementing commands with a struct
-
enumcapsulate
Safe casting for newtype enums and their variants
-
stack_box
store unsize struct on stack with static check
-
fast-concat
Fastest macro for concatenating strings
-
install-dirs
handling gnu install directories in rust
-
syllogism
allow for some specialization using stable Rust
-
forward_ref
Rust's forward_ref_* macros for easier implementation of operator overloading
-
named-tup
Create named tuples using the tup!() macro
-
macro-bits
performing macro-based bit manipulation
-
procc-ll
processor of tokens for rust
-
tracked
A stringly-typed Error that includes
#[track_caller]
information -
dilib
A dependency injection library for Rust
-
ownit
Easily turn borrowed type into owned values
-
should
Postfix assertion library for Rust
-
cast_checks
A procedural macro to check for invalid casts
-
unsafe_cell_slice
A microlibrary for creating multiple mutable references to a slice
-
degeneric-macros
Hides struct generics into trait associated types
-
goof
A reusable, composable, aggregate and
no_std
-friendly error library -
envsubst
Variables substitution
-
maelstrom-worker-child
Helper library for maelstrom-worker
-
superstruct
Versioned data types with minimal boilerplate
-
holder
getter setter auto gen with holder trait
-
iter_fixed
Iterator of fixed length
-
bty
Streamlined definition and usage of branded types in Rust
-
anyerror
A type of any error for transport
-
scratchstack-aws-principal
Principal types for AWS/AWS-like services
-
tuppipe
pipe operator-like implementation using tuples in Rust
-
shadow_counted
An iterator that counts every iteration in a hidden counter, nested iterators may commit the count to parents
-
digitize
Traits for accessing digits of primitive integers & floats
-
the-string-macro
The missing
string!
macro to constructString
value from string literal -
dims_macro
Macros for Generating Systems of Units
-
checked-float
making invariant-enforcing floating point wrappers
-
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
-
branch_hints
that provides likely and unlikely branch hint functions in stable Rust
-
failed-result
A small crate for converting various failed value to result with corresponding error type
-
noco
no code, no problem
-
supply-chain-trust-example-crate-000055
Flexible concrete Error type built on std::error::Error
-
typeables
type aliases. By SixArm.com.
-
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)
-
git-ref-format
Everything you never knew you wanted for handling git ref names
-
loop-let
An immutable loop structure that can be used as an expression
-
scoped_thread_local
Highly flexible Scoped thread local with HKT builtin
-
cond
Rust macro to use a match-like syntax as an elegant alternative to nesting if-else statements
-
file_picker
Prompts the user to pick a file interactively from the current directory
-
zerror_full
macro for implementing helpful errors
-
assert_matches2
A version of the assert_matches! macro that brings variables from the pattern into scope
-
hax-bounded-integers
Newtypes for working with bounded integers with hax
-
nil
Noxmore's Ixperimental Lutilities
-
nanvm-lib
NaNVM library
-
mini-macro-magic
Export tokens to other modules and crates. Now with 100% less proc macros!
-
dddk_core
Tactical DDD framework based on command_bus, event_bus and query_bus. It offers annex feature such as authorization, logging ...
-
pyderive
Derive macro of Python special methods and a class attributes for PyO3
-
custom-format
Custom formatting for Rust
-
partially
Partial trait, and an optional macro to mirror a struct, wrapping each field in an Option
-
pyo3_special_method_derive
Automatically derive Python dunder methods for your Rust code
-
namewise
Derived trivial name-wise conversions for Rust types
-
easy_node
Smart pointer for graph nodes
-
partial_application
partial function application via the partial! macro
-
shared_singleton
trait provides singleton pattern state management with shared container
-
rtoolbox
functions for other crates, no backwards compatibility guarantees
-
accursed-unutterable-type-id
A worse version of std::any::TypeId
-
re_error
Helpers for handling errors
-
px-wsdom-macros-decl
wsdom crate
-
interning
Thread-Lcoal and Global Interning Library
-
carboxyl
functional reactive programming
-
rusty-cmd
creating custom line-oriented command interpreters in Rust
-
seqgen
Sequence generation library
-
const_fn
A lightweight attribute for easy generation of const functions with conditional compilations
-
sudo_plugin
Macros to easily write custom sudo plugins
-
bit_roles
Granular role management based on bit flags
-
closure
A macro for capturing variables on a per variable basis
-
shelter
ROP-based sleep obfuscation to evade memory scanners
-
thin_delegate
Auto implementation of trivial delegation to inner types
-
lazyinit
Initialize a static value lazily
-
cifg
A macro for defining #[cfg] if/else blocks; alternate to cfg-if
-
struct-metadata
Macros for attaching metadata to structs
-
newstr
macros for declaring String-base new types
-
python-packaging
Python packaging primitives implemented in Rust
-
rco_utils
Shared functions for "Remote Code Execution"'s (RCO's) binaries
-
quote-data
A tokenization Library for Rust
-
rt-format
Fully-runtime equivalent of the format! macro
-
io-arrays
Random-access I/O
-
intfloat
Fast and simple hashable float alternative using ints
-
parenv
Environment variable parser with a clap style derive macro and elm style error reporting
-
vebex
that provides procedural macros for creating regular expressions in a verbose and readable way
-
srb-std
test description 02
-
non-empty-string
type for non empty Strings, similar to NonZeroUsize and friends
-
tupl
Perform generic operations on tuples
-
univec
A vector that can hold elements of any single type
-
jkcenum
Rust enum library
-
intertrait
Allow for inter-trait casting
-
error-graph
Allows non-fatal errors in a tree of subfunctions to easily be collected by a caller
-
type-toppings
Opinionated extensions to standard types
-
peggen
Generate recursive-descent & precedence climbing parsers
-
air-macros
Macros for the TNJ Assembly Intermediate Representation (AIR)
-
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 -
err-rs
Error level management
-
summum-types
A sum-type macro crate with all the conversions, accessors, and support for abstract methods across variants, and interoperability between sum-types
-
string_error_wrap
providing a macro for an error type wrapping a String
-
oberst
A type-safe command parser and dispatcher inspired by Brigadier and written in Rust
-
peeking-iter
An iterator adapter that allows infinitely-deep peeking
-
bint
Bounded Integer in Rust
-
binmarshal
Pack and unpack structs and enums into and out of binary data streams
-
tear
Typed early returns and loop control + Syntax sugar for try!-like error handling
-
inherent
Make trait methods callable without the trait in scope
-
enum_downcast
Safe downcasting for enums
-
kust
Kotlin-like APIs for Rust
-
declarative_type_state
A collection of declarative macros to reduce boilerplate code when implementing type-state patterns
-
structz
Anonymous struct implementation in rust
-
typestate
A proc macro DSL for typestates
-
arkui-sys
Bindings to the native ArkUI API of OpenHarmony
-
fmt-derive
A more robust and versatile derive macro for Debug and Display
-
structural-convert
Derive conversion traits (From, Into, TryFrom, TryInto) when fields are structurally similar in enums or structs
-
ltptr
Checked raw pointers
-
gravitron_macro_utils
Gravitron's Macro Utils
-
wiwiwiwiwiwiwiwiwiwi
declarative macros for wiwi, a library, of, Stuff™ (implementation detail; do not depend on this crate directly)
-
methods-enum
Two macros for easy implementation of 'state' design pattern and other dynamic polymorphism using enum instead of dyn Trait
-
sddl
parse and analyse SDDL Strings
-
panic-analyzer
an audit tool to scan your crate or workspace searching for potential panic points in your codebase
-
typed-sql
A strongly typed sql serialization/deserialization framework
-
commonware-utils
Leverage common functionality across multiple primitives
-
type_description
Machine-readable type descriptions
-
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.
-
maelstrom-test
Test macros for Maelstrom
-
hierr
RUST Error
-
lebe
Tiny, dead simple, high performance endianness conversions with a generic API
-
bittorrent-primitives
collections of basic types for BitTorrent projects
-
static_assertions_next
Compile-time assertions to ensure that invariants are met
-
esync
This package contains some useful synchronization primitives
-
devgen-splitter
Devgen Splitter is a Rust library that breaks down source code into contextual chunks
-
retrying
General-purpose retrying library for Rust with macros and functions
-
gerber-types
Types and code generation for Gerber files (RS-274X)
-
prepeek
Peekable iterators without mutation
-
redb_model_trait
Redb model trait
-
applying
Apply functions in method-position
-
okapi-response-mac
A macro for creating response code based on responses structs rather than typing and implementing OkapiRocketResponseInner manually
-
rustivity
An easy to use & 0 dependency reactivity crate
-
kernelx
𐲕
-
terra-items
enum contatining terraria items and prefixes
-
some_crate
If you just need a crate that's guaranteed(*) to do practically nothing
-
asm_block
Translate tokens to string for Rust inline assembly
-
tartan-bitfield
Define structures with accessors for particular bits or bit ranges
-
vector3d
3D vector type
-
fn_zip
zip trait for functions, allowing two functions to be combined before being called
-
cfgenius
Conditional compilation with macro support in Rust
-
destructure_traitobject
Unsafe helpers for working with raw trait objects. (Forked from traitobject)
-
unwrap_or
Four easy unwrap Result and Option macros that allow for any inline-scoped code for things like return, continue, and break
-
wrappr
A libary for some useful wrapping traits
-
isclose
A collection of trait and macros for comparing approximate equality
-
pathogen
Typed references and deep mutation into Rust types
-
gobble
A Combinator based parser for strings that gets out of the way, and leaves your code looking like a grammer
-
hotswap
Easy code swapping in running executables
-
derive-prom-metrics
Build Prometheus metrics declaratively as structs
-
arc-interner
An interner that deallocates unused values
-
bitbag
A useful struct for dealing with bit flags
-
quickbits
Fast bit manipulation routines for Rust's native integer types
-
version
A very simple library who's job is to return the version of your crate if you're building with Cargo
-
marker_trait
Implement a blanket implementation for a marker trait
-
elor
Base generic implementation of an Either type
-
iter-progress
Calculate progress of your iterators
-
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.
-
mopa
My Own Personal Any: get your own Any with additional functionality
-
macroex
An extractor based low level macro parsing crate that provides high level parsing support through derive macros
-
s-string
s!() macro for quick String::from()
-
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 -
defer-lite
A lightweight high-performance implementation of Go's defer statement
-
tany
Type-erased container with inline storage for small values
-
string_from
A three-letter macro for String::from
-
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
-
outcome-46f94afc-026f-5511-9d7e-7d1fd495fb5c
Augmentations for error propagation
-
sign-bound
Layout-optimized positive and negative integers
-
relax
Derive Partial<T>
-
valued-enums
Macros collection and specify trait for creating valued or python-like enums
-
dyn-iter
Wrapper around
Box<dyn Iterator<Item = V> + 'iter>
to simplify your code -
kommons_macros
a set of macros with utils
-
has-some
The opposite of is_empty (and is_empty for filters)
-
materially
A macro for material implication
-
gull
type generation
-
objid
Generate a random object identifier
-
round
your floats with precision from 1 to 10
-
textmate-scope-selector-peg
Textmate scope selector implementation as a PEG (parser grammar) in Rust
-
safe-discriminant
A minimalistic,
no_std
compatible trait and procedural macro for extracting discriminants from enums at zero cost -
steel-repl
REPL library for steel
-
tentacli-traits
Traits and types for tentacli and related projects
-
clap-doc
Create markdown descriptions for
clap::Command
s -
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
-
service-layer-rs
alternative to the tower service layer, implemented using async trait, making the code more concise and easier to use
-
rvs
defining and evaluating random variables using a simple DSL
-
windows-helpers
Helpers for the windows crate
-
singleton-manager
A programatical singleton manager
-
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
-
ptrplus
Additional funtionality for pointer types
-
trot
Trait library
-
enum-variants-strings
Derive macro for converting instances of enums to and from strs using variant names
-
assume
Macro for stating unsafe assumptions in Rust
-
tiny-input
Tiny input macros
-
test_eq
assert_eq!-like macros that return a Result instead
-
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
-
tor-async-utils
Async/futures helpers for use with Tor
-
snapup
Abstractions for handling snapshots with streams of subsequent updates
-
sql-table-macros
Helper macros to generate SQL table definitions
-
unwrap-overflow-ops
arithmetic operations that always panic on overflow
-
mudra
Currencies as distinct structs
-
docsplay
A derive macro for implementing the display Trait via a doc comment and string interpolation. Fork of displaydoc
-
enum-unit
Generates unit-variant enums from existing enums
-
cew
Personal Rust utility library
-
nvptx-std
stdlib for nvptx64-nvidia-cuda
-
sexpr-out
Tools for writing S-Expressions from Rust data
-
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. -
fastn-resolved
fastn: Full-stack Web Development Made Easy
-
grouping_by
allows the user to group an iterator by various ways
-
supply-chain-trust-example-crate-000053
A lightweight version of pin-project written with declarative macros
-
lazy_link
proc macro for dynamic runtime lookup of external functions, supporting custom resolvers, caching and no_std environments
-
diffuser-edit
Edit diffuser models without GPU and Python
-
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…
-
nz
Collection of 100% safe macros for creating non-zero integers more easily
-
qm-utils
functions and macros
-
phnt
Rust bindings to the System Informer’s (formerly known as Process Hacker)
phnt
native Windows headers -
ifc_rs
IFC standard
-
gilder
Golden testing library
-
case_iterable
A procedural macro to iterate over enum variants, ala Swift's CaseIterable
-
non_structural_derive
nonstructural derives for auto traits
-
malachite-bigint
A drop-in num-bigint replacement based on malachite
-
objective-rust
Seamlessly bind Rust and Objective-C code
-
cstr-argument
A trait for converting function arguments to null terminated strings
-
k8s-controller
lightweight framework for writing kubernetes controllers
-
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…
-
inline_dyn
A container type for storing dynamically-sized types inline
-
gur
A undo-redo framework
-
coded
concrete error type with an
ErrorKind
enum matching Google’s “canonical error codes” -
yukon
trait for the ability to cheaply duplicate an object
-
fu
Just an Error
-
eventmill
Event sourcing and CQRS for Rust applications
-
decurse
Macro to make recursive function run on the heap (i.e. no stack overflow).
-
mongo_indexed
derive macro to declaratively index mongo collections
-
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
-
proto-mapper
A Macro library for easier mapping between custom models and proto generated code
-
autoproto
Replacement derive macros for
prost::Message
, and supporting traits and types to make implementing this trait easier -
rust-witness
Build a circom witness in Rust
-
tao-of-rust
《Rust编程之道》随书源码
-
reax
A reactivity system for Rust that infers dependencies between functions
-
micro_errors
deal with errors without taking the derive macro approach
-
rukt
dialect for token-based compile-time scripting
-
timed
Macros to time function execution
-
reffers
Smart pointers: ARef, that allows even further owner erasure than OwningRef. Strong is a memory efficient Rc + RefCell in one. And more!
-
erasable
Type-erased thin pointers
-
haskell_bits
Rust implementations of various Haskell typeclasses and functions
-
tlns-google-oauth2-traits
A bunch of traits for
tlns-google-oauth2-traits
-
num_bound
Add bounds fn to anything implementing
Ord
that bounds a number to a range -
pinned-aliasable
Pin-based stopgap for unboxed aliasable values in self-referential data structures
-
ez_log
logging library for Rust
-
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.
-
iterpipes
Compositional, pipes-style stream processing
-
lemurs-8080
An emulator for the Intel 8080 microprocessor
-
bossy
Opinionated convenience wrappers for
std::process::Command
and friends -
cheap-clone
A trait which indicates that such type can be cloned cheaply
-
caret
Macros for declaring non-exhaustive C-style enumerations, with named members
-
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
-
rusty-typesh
A flexible type pattern matching system for Rust
-
subplotlib
functions and types for
subplot codegen
generated Rust based test suites. Relies onsubplotlib-derive
for associated macros. -
iter_peek_end
current element the last one of a peekable iterator ? (
is_last()
andis_not_last()
) -
advent_of_code_traits
Minimal, flexible framework for implementing solutions to Advent of Code in Rusts
-
aoko
extension library
-
entrance
A command line argument parser library which provides type assisted tools
-
stackbox
&own
ing references in stable Rust - no_std-friendly Box -
tcp-struct
Share structs over tcp
-
maybe-uninit-ext
Extended maybe-uninit types
-
io-close
An extension trait for safely dropping I/O writers such as File and BufWriter
-
enum-primitive-derive
enum_primitive implementation using procedural macros to have a custom derive
-
ffd
Fast Function Dispatch: Improving the performance of Rust's dynamic function calls
-
json-query
Run jq programs to extract data from json strings
-
progress-streams
Progress callbacks for types which implement Read/Write
-
market
Infrastructure for producers and consumers
-
isr-macros
Macros for ISR
-
totally-safe
that allows you to bypass Rust's safety guarantees with totally safe patterns, featuring arbitrary lifetimes, aliasing, and more!
-
tuple_list
macro-free variadic tuple metaprogramming
-
typederror
A wrapper around anyhow that allows for a primary error type
-
thiserror_string_context
Adds context string to error enums generated with thiserror
-
eventually
using Event Sourcing in Rust applications
-
poison-guard
maintaining sane state in the presence of panics and failures
-
circomspect-parser
Support crate for the Circomspect static analyzer
-
regex-macro
A macro to generate a lazy regex expression
-
builder-pattern
A derivable macro for declaring a builder pattern
-
cgp-error
Context-generic programming error components
-
option-ext
Extends
Option
with additional operations -
messages
Runtime-agnostic actor library
-
named-block
Macro implementing early-exit-from-any-block
-
from_variants
Rust macro to automatically generate conversions for newtype enums
-
strdeser
A struct serializer for rust empowered with a macro
-
taskchampion-lib
Personal task-tracking
-
softfloat-sys
Rust bindings for Berkeley SoftFloat 3
-
cooked-waker
A safe interface for creating async Wakers
-
roopert
object-oriented toolkit for Rust
-
bigerror
handle big errors ¯\_(ツ)_/¯
-
aranya-buggy
A less panicky replacement for unreachable!() and unwrap
-
hash256-std-hasher
Standard library hasher for 256-bit prehashed keys
-
dioxus-shareables
Hooks for sharing structures between components
-
aranya-trouble
A wrapper to implement the Error trait
-
buf-read-ext
Trait extending anything that implements BufRead with stream_until_token()
-
derive_variants
derives an additional enum from a nested enum that contains only variants and no nested fields
-
dyn-clonable
Attribute wrapper for dyn-clone
-
algar
Algebraic structures, higher-kinded types and other category theory bad ideas
-
easy_errors
simplify and enhance error handling in Rust
-
cloned_trait
Cloned Trait
-
control-flow
A hack to control control-flow outside closures
-
seasick
FFI-safe nul-terminated strings with ownership semantics
-
thin_cstr
An experimental crate which provides a truly thin std::ffi::CStr
-
range-ext
Range intersection
-
vmprotect
Unofficial VMProtect SDK for Rust
-
partial_derive2
makes all the properties of a struct type an optional property
-
lset
Data types describing linear sets
-
sendable
Rc and Option equivalents that facilitate sending data between threads
-
plain_enum
Mimicing Java's enum::values() and EnumMap
-
pit-rust-externref
Portal Interface Types
-
jget
Rust tools
-
fallible_map
fallible mapping over
Option
and iterators using functions that can returnResult
s -
derive-merge-struct
A derive macro to partially update a named struct
-
as_num
Checked conversions between Rust's numeric types
-
netherite
A tokio implementation of the Minecraft Protocol with derive macros
-
ointer
Steal the high bits of a pointer to store an extra value
-
yikes-intenum
Augment integer-based enums with an unknown variant; a macro that makes you say "yikes!"
-
adhesion
A set of macros for design by contact in Rust. The design of this library was inspired by D's contract programming facilities.
-
debug-fn
A function adapter that implements Display and Debug
-
mac
A collection of great and ubiqutitous macros
-
relrc
Reference counted pointers, with relationships to other pointers
-
simple_detailed_error
Stack and specify errors explainations saying what happened, why, how, where, how to solve it and its causes
-
macon_api
builder macro-based generator with its own idioms
-
runestr
User-perceived characters related types and data structures
-
trig
Complete set of trigonometric and hyperbolic functions in Rust
-
strck_ident
Checked owned and borrowed Unicode-based identifiers
-
error2
error handle library for Rust
-
quick-error2
A macro which makes error types pleasant to write
-
stackstack
A singly linked list intended to be chained along stack frames
-
dddk_security
Security module of dddk_core. Impl features regarding command_bus pattern and security
-
scanmut
Insert/remove multiple items from Vecs in O(n) time
-
rtml
(r)ust macros for h(tml) expansion => rtml. (r)ust type safe (css) => rcss
-
hxdmp
A small utility to create hexdump output from byte slices
-
nype
Newtype helper macros for Rust
-
possibly_uninit
Traits and types helping with using uninitialized memory safely
-
syrette
The convenient dependency injection framework
-
enumx
Ad-hoc enum extension
-
ieee-apsqrt
Square root functions for IEEE floats using rustc_apfloat
-
prev-iter
Iterator which allows you to view the previous element
-
bitmask
generator for enum scoped bit flags
-
rust-corosync
Rust bindings for corosync libraries
-
thread-object
Abstraction over thread-local storage allowing dynamic creation of TLS variables
-
physical-quantity
dimension and unit system for general physical physical quantities
-
multer-derive
derive for constructign type from multer Multipart
-
libipld-macro
ipld macro
-
unwrap-infallible
Unwrapping Result values with compile-time guarantee of infallibility
-
element-ptr
A macro to make accessing elements through raw pointers easier
-
procedural-masquerade
macro_rules for making proc_macro_derive pretending to be proc_macro
-
byte-strings
Rust byte strings manipulation, for a better and safer C FFI
-
proc-easy
Macros to make writing proc-macro crates easy
-
std_nightly_to_stable_3db085279c83
-
errore
error handling and tracing
-
wutil
A lightweight library that contains useful functions, wrappers, and macros
-
despatma
Design Pattern Macro like Loki
-
apparat
A lightweight event-driven behavioral state machine
-
steloc
compile-time DI framework for Rust
-
tor-units
macros for types which are constrained within a range, ensuring invalid values are unrepresentable
-
lawn-constants
error and logging types, traits, and codes for Lawn
-
cadeau-sys
FFI bindings to Cadeau library, performance primitives and media foundation functions
-
uwuizer
Rust Macro to UwUize your text. UwU.
-
min-max
max! and min! macros
-
hictor
declarative macro for __attribute__((constructor))/__attribute__((destructor))
-
pooled-writer
using N threads to write to M compressed files/writers
-
pi_null
define trait is named Null. u8,u32,u64,Option...is implements Null
-
singleton-attr
singleton procedural attribute and derive macro
-
enum-derive-2018
macros for deriving additional functionality for enums
-
yugen
Writing rust like python
-
smallnum
Compile-time size optimization for numeric primitives
-
overflower
A compiler plugin to easily select overflow behavior for all integer operations of an item
-
problem
Error handling for command line applications or prototypes
-
dbus-strings
Rust native implementation of different D-Bus string types
-
piston-float
Traits for generic floats in game development
-
descriptive_toml_derive
Procedural derive macro for serializing a struct into a TOML template with field descriptions that is easily edited and deserialized
-
konst_macro_rules
detail of the konst crate
-
ord_subset
Tools for working with the Ord subset of certain PartialOrd types, like floats
-
cisness
Runtime 'live witness' of two types being the same
-
kurtbuilds_regex
Wraps the regex library to also provide macros
-
squote
A clone of the quote crate that uses a String as its backing store
-
hrbf
Hermite Radial Basis Functions with higher order derivatives
-
kittycad-execution-plan-traits
Types for KittyCAD execution plans
-
const-exhaustive
Enumerate all values of a type at compile time
-
ferrunix
A lightweight run-time dependency injection framework for Rust
-
str-macro
The str!() macro, similar to vec![] but for strings
-
brug
enum command generation for implementation blocks
-
cronjob
scheduling your methods
-
defmac
A macro to define lambda-like macros inline
-
closure_example
A short description of my package
-
mstr
2-word, immutable Cow<str>
-
permeable
A permission-demand trait. Decouples the permission-demander from the permission / auth provider.
-
typemap-meta
compile-time macro to create type-to-value maps
-
extension-traits
Annotation to easily define ad-hoc / one-shot extension traits
-
box-dyn
Macro to derive the implementation of Trait for Box<T: Trait>
-
partial-borrow
Partially borrow a struct
-
docify_clone
Docify allows you to live-embed at compile time pieces of code from throughout your project as rust doc examples
-
hurl_core
Hurl Core
-
irox-structs
Traits for Struct Types - linearly serialized big/little endian bytes
-
dirk_framework
Dependency Injection for Rust
-
coi-rocket
integration support between coi and rocket
-
fixnum
Fixed-point numbers with explicit rounding
-
nonicle
Tools for type-safe, canonical data representations
-
filterable-enum
generating filterable enums (Combining bitflags and discriminated unions)
-
oneline-eyre
A fork of
simple-eyre
which outputs errors on a single line -
add_macro
more additional macros to help you write code faster!
-
stecs
Experimental static compiler-checked ECS library
-
projecture
Easy arbitrary type projections without proc macros
-
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
-
deadlocker
Bringing builder pattern to defeat deadlocks
-
arch-into
safe type conversions between pointer-sized types (usize/isize) and types with fixed size
-
let_clone
Declarative macro to clone multiple values at once
-
structify
A procedural macro to transform functions into structs with state and execution dependencies
-
consclr
console text colorful
-
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… -
rw-exact-ext
Extension of std::io to read and write data types with exact amounts of bytes
-
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… -
io-adapters
Adapters to convert between different writable APIs
-
funkjon
One of the worst macros this world has ever been (dis)graced with
-
simple-eyre
One of the simplest error reporters one can build ontop of eyre, defining only an error report
-
once_cell_serde
Single assignment cells and lazy values
-
peekable-fwd-bwd
Iterator Peekable with multi-forward-peek and multi-backward-peek
-
simplicio
Gets rid of the boilerplate in rust
-
impl-opaque
Macro for declaring complex struct and initializer
-
generic-bytes
A derivable trait for conversion to and from an array of bytes with a type-level size
-
grid-iter
Ideomatic Grid operations via Iterators
-
tiny-ordered-float
Tiny version of OrderedFloat
-
tuple-traits
Additional tuple traits to enable ergonomic types
-
mirl
Miners Rust Lib - A collection of ever growing functions and structs
-
async_fn_traits
Trait synonyms for “Fn[…]”-trait bounds returning futures
-
mago-linter
A PHP linter that identifies common coding errors, style issues, and potential bugs, helping maintain high code quality
-
handle_errors
just a macro to get the thiserror with colors and the error place
-
rvstruct
A helper macros implementation for Value Classes in Rust
-
lmml-parser
LMML parser
-
enum-rotate
Rotate and iterate your enums
-
koute/nes
emulator written in Rust
-
rs_transducers
transducers for Rust
-
liftor
Functors for Rust lifetimes
-
defer-rs
Deferred execution Rust utilities
-
zip_clone
Zip an iterator to a repeately cloned object
-
extended-primitives
providing primitive-like types for use
-
lib-tan-core
The core library
-
jmespath_community
JMESPath is a query and transformation language for JSON
-
concat-string
macros for concatenating string slices into owned strings
-
iter-n
functions returning impl Iterator to return one of several distinct types
-
readonly
Struct fields that are made read-only accessible to other modules
-
ptr-union
Pointer union types the size of a pointer by storing the tag in the alignment bits
-
illicit
An implicit thread-local environment which is indexed by type
-
hs-bindgen-traits
traits behind hs-bindgen ergonomics
-
thisctx
Easily create error with contexts
-
tailwag_macro_inline
The logic for A collection of macros to support the tailwag crate
-
debugless-unwrap
Unwrap Result<!Debug, !Debug> and Option<!Debug>
-
impl_ops
Macros for easy operator overloading
-
state-shift
Macros for implementing Type-State-Pattern on your structs and methods
-
lyneate
beautiful code underlining and error reporting
-
singleton-cell
A more powerful Ghost Cell allowing the use of any singleton as the key
-
qbdi-sys
QBDI library rust binding (use rust bindgen)
-
jnt
full of just neat things
-
kstring
Key String: optimized for map keys
-
to_snake_case
that transforms strings to snake_case
-
wtflip
A language in a Rust macro... or something.
-
fixed-macro-types
Macro aliases used in the
fixed-macro
crate -
cfg-or-panic
Replace function bodies with
unimplemented!()
when condition is not met -
irox-types
Enums and structs to describe Rust's basic type system
-
ctor-lite
Run code at program startup or shutdown
-
redhook
Dynamic function call interposition / hooking (LD_PRELOAD) for Rust
-
matr
A metaprogramming library for Rust
-
kusprint
A set of macros for printing objects to stdout without having to specify a template literal
-
error-iter
Error::sources on stable Rust
-
fruit-salad
Compare apples and oranges (and more). Trait object reference casting and trait object comparisons.
-
backyard-nodes
Nodes representing PHP code AST
-
imgref-iter
A small crate for iterating over the rows or columns of
imgref
buffers -
frayed
Unfused and unashamed iterators
-
sly_static
Seamless Rust Static Initialization: Effortless and Efficient
-
hado
Monadic do notation using a macro
-
const-assert
Assert struct for const generics
-
woah
A Result type that differentiates between local errors (which can be handled) and fatal errors (which cannot)
-
scopefn
Scope functions for Rust
-
default_is_triple_underscore
Shorter syntax for Default::default() : ___()
-
dyn-dyn
Flexible trait object downcasting using ptr_metadata
-
temp-stack
A data structure for contexts or similar stack structures that are allocated on the call stack, using the temp-inst crate for lifetime erasure
-
scientisto
A light-weight Rust implementation of the github/scientist library used for careful refactoring of critical code paths
-
ambient-authority
Ambient Authority
-
jsona-openapi
A openapi dsl in jsona
-
symbolism
Unique symbols made from human readable tags
-
squeak
providing types allowing execution of callbacks in response to values being broadcast or mutated
-
filters
Build filters/predicates with the builder pattern
-
chassis
Compile-time dependency injection framework
-
type-sets
Sets implemented in the rust type-system
-
standback
New standard library, old compiler
-
flexible-io
Wraps values such that dyn-safe IO traits need not appear as static bounds
-
flatty-base
Flatty traits and primitives
-
maybe-uninit
MaybeUninit for friends of backwards compatibility
-
function_overloading
that adds function overloading
-
lachs
automatically creating a lexer based on a given enum
-
symbol
globally interned strings
-
once-fn
cache the result of a function, make it runs only once
-
aws-lib
Helper functions and types for AWS operations
-
bounded-vector
Vec wrapper that guarantees upper and lower bounds on type level
-
maybe_null
A pointer type for handling potentially null values without accidental dereference
-
thread-scoped-ref
that is similar to a thread local storage but allows to store references / dyn Trait within a scope
-
lmutils
A set of utilities for working with linear regression models
-
rama-error
error types and utilities for rama
-
dare
daring flexible data representation
-
apply
A tiny library for chaining free functions into method call chains
-
zonbi
Type-Erase tools for non-
'static
types -
fmu_from_struct
A derive macro for automatically setting up FMU models in Rust
-
oop
Object-Oriented Inheritence in Rust
-
dyn-hash
Hash trait that is object-safe
-
dyn_struct
Construct dynamically sized types safely
-
doc-search-dsl
procedural macro for creating complex regex patterns using a Domain-Specific Language (DSL)
-
assert_unordered
A direct replacement for
assert_eq
for unordered collections -
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.
-
macroquest
Write MacroQuest plugins in Rust
-
teo-teon
Object notation for Teo
-
kube-core
Kube shared types, traits and client-less behavior
-
posix-errors
Posix error codes and handy functions for using them
-
advancedresearch-higher_order_core
Core structs and traits for programming with higher order structures in Rust
-
rnet
Easily call into Rust from C# or other .net langauges
-
lucene_query_builder
A procmacro derive crate to generate lucene query builder for Rust structs :
-
greattraits
My own collection for traits extending standard library types
-
perhaps
Maybe monad implementation with a more intuitive name. Using Certain and Dubious instead of Just and Nothing
-
delegate-attr
Attribute proc-macro to delegate method to a field
-
casual
parsing user input
-
rsor
Reusable slice of references
-
mapcomp
Python-like list comprehensions for standard containers
-
word_iter
Iterator over all words in a string
-
lazy-init
Lazy initialization
-
aspect
Toolkit for Rust
-
osu-file-parser
parse an osu! beatmap file
-
rombok
boilerplate generation macros like lombok
-
fallback-if
Fall back to an alternative given some predicate
-
cantor
A general toolkit for working with types that have a small number of values
-
rdcl_aoc_helpers
Helpers for Advent of Code
-
hb_error
Useful macros and traits for creating and handling errors
-
const_unit_poc
Proof of Concept: Physical units through const generics
-
eeric-interpreter
A front-end abstraction layer over eeric
-
lazy_bastard
A helpfull macro because writeing a seperate Default function is too much effort
-
type_utilities
Implementing more methods to rust type primitives
-
orfail
Error handling library for portable unrecoverable errors
-
zngur
A Rust/C++ interoperability tool
-
murrelet_livecode_macros
livecode macros for murrelet, a livecode framework
-
ownedbytes
Expose data as static slice
-
error_mancer
Quickly define custom error enums for a function
-
serde-textual
derive Display/FromStr by using serde
-
imstr
Cheaply clonable and slicable immutable strings
-
pad-adapter
that provides pad adapter
-
ghost-lite
custom PhantomData types
-
enum_index
Trait and macros for extracting Enum variant index
-
nest_struct
Nest struct and enum definitions with minimal syntax changes
-
oxydized-money-macros
Companion library to oxydized-gains providing convenience macros
-
curerr
easy error handling
-
brain_flak_macro
Brain-Flak macro
-
unwrap_todo
Option::todo and Result::todo methods
-
swapbytes
swapping the endianess of structures
-
consumable
Consume the value by replacing it with the default value and returning the previous value
-
chalk-macros
Macros for Chalk
-
enum-repr
Derive enum repr conversions compatible with type aliases
-
syn-test-suite
Test suite of the syn crate
-
sapling-hgtime
Parse time from strings
-
flowcontrol
clarifying and simplifying control flow
-
first-err
Find the first Err in Iterator<Item = Result<T, E>> and allow iterating continuously
-
log_err
Log error messages from Unwrap and Expect with log crate
-
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.
-
enum_macro
Useful macro for enum
-
rustpython-literal
Common literal handling utilities mostly useful for unparse and repr
-
lurk-ipld-macro
lurk-ipld macro
-
slice-utils
A collection of slice utils, like itertools
-
dev_bestia_url_utf8
url utf8 encode/decode
-
ident-mash
Mash idents together inside macro_rules!
-
asset-derive
asset handling derive macro for enums, and a proc-macro learning resource!
-
custom_error_core
Define custom errors without boilerplate using the custom_error! macro
-
num-sign
enum Sign { Positive = 1, Negative = -1 }
-
river-layout-toolkit
Write River layouts in Rust with ease
-
wrapping-macro
wrapping macro
-
tryvial
Small crate for ok-wrapping and try blocks
-
whiskers-widgets
Dynamic UI sub-system for whiskers
-
tailsome
Blanket traits providing
.into_ok()
,.into_err()
, and.into_some()
for happier method chaining -
notzero
macro for constructing
std::num::NonZero*
from constants -
stream_assert
Macros to simplify testing of
Stream
based APIs -
access-json
Use serde to query large nested structures in Rust. For low-effort, read-only FFI.
-
kmacros
Useful macros
-
derive_builder_fork_arti
Rust macro to automatically implement the builder pattern for arbitrary structs
-
wasmer-wit-bindgen-gen-core
wit-bindgen-gen-c
-
pyspark-arrow-rs
Derive macros to be used to add some helper functions to Rust structs to make them useable in Pyspark's mapInArrow
-
iter_accumulate
An iterator adaptor that accumulates the elements and yields the current accumulated value for each iteration
-
overloadf
unlock function overloading for rust
-
zerror
error interface for context-aware error-reporting
-
peak-result
trait that extends the standard Result enum to allow you to run some code in case of error or success
-
mogrify
macro for autogenerating a “Parse, Don’t Validate”
TryFrom
implementation for structs -
lawn-protocol
protocol types, traits, and codes for Lawn
-
printc
Print-clean macro. Like
println!
but cleaner input. -
maybe_path
Zero overhead static initializer for Path
-
twitter/rustcommon-atomics
Atomic primitives unified by traits
-
cargo_toml
Cargo.toml
struct definitions for parsing with Serde -
checked_sum
safely summing up iterators
-
better_any
Type id and Any for non static types
-
replace_err
Adds a
replace_err
method toResult
which throws away the current error and replaces it -
sized-dst
Owned container for dynamically-sized types backed by inline memory
-
cudd-sys
Bindings for CU Decision Diagram library (CUDD)
-
tuplemagic
manipulating tuples through various operations like mapping, filtering, nesting, and reducing
-
throwing
Create explicit errors easily with a handy macro
-
hereditary
Procedural macros for emulating OOP Inheritance in Rust
-
will_exit
work on program will exit
-
sid_vec
Tiny library providing id types and an id-based vector
-
alone_ee
Small event emitter for rapid development of weak dependency in applications. simple. powerful. predicted
-
utility-macros
emulate Utility Types and Unions from TypeScript
-
bidir_iter
Bidirectional iterators
-
unroll_range
Repeats a block of code for each number in a specified range
-
bronzeflow
Bronze: A workflow scheduler in rust
-
easyerr
easier creation and transformation of error types
-
string-join
A python-like way to join items in an iterator with a separator
-
iterator_item
a generator syntax experiment
-
yansongda-utils
rust 中一些关于我自己的常用工具
-
tugger-snapcraft
Snapcraft packaging primitives
-
crdts_macro
CRDTs proc_macro
-
type_reflect
Extensible runtime reflection through a Derive macro
-
humane_commands
Allows you to write more shell-like Commands
-
tch-tensor-like
Derive convenient methods for struct or enum of tch tensors
-
enum_pipeline
way to use enums to describe and execute ordered data pipelines
-
classes
Dependency-free macro that simplifies the process of building class strings for DOM elements
-
destruct-drop
Macro for dropping the fields of a struct or enum without dropping the container
-
ip-family
IP family enum with functions to get special ips of the right family
-
knife
An iterator that divides things evenly
-
xconstants
Adds preliminary support for enum const generics
-
ferrite-session
Session Types DSL for Rust
-
diesel_derives_traits
Traits for diesel_derives_extra
-
fold-license
Folding licenses from multiple dirs with
cargo
/Cargo.toml andyarn
/package.json -
golangify
published at 01.04.2024 this crate brings familiar flavor for newcomers from golang
-
postgres-mapper
Struct mapping for postgres
-
dbg_unreachable
Switch between unreachable! and unreachable_unchecked with a single macro
-
ebacktrace
error wrapper which captures a backtrace and can carry an optional textual description
-
iter_ref
Traits for iterating over referenced data without consuming the iterator
-
guard-clause
Syntactic sugar for writing simple guard clauses
-
medi-rs
mediator library for Rust
-
termal_core
contains implementation for the termal library
-
burrtype
A framework for exporting types to other languages
-
enum_traits
Traits for builtin enum items that are primarily used by
enum_traits_macros
when automatically deriving types -
lup
A custom indexed loop macro library for Rust
-
instancebuilder
Convenient way of managing dependency injection
-
nan-tag
NaN-tagged pointers in Rust, storing an f64 in the same space as a pointer
-
quasi_iter
that contains supplementary iterator objects and methods
-
try_utils
The try! macro descends into an enum variant. It's more flexible than ? and unwrap(), and it works with your enum, too!
-
failsafe
A circuit breaker implementation
-
smartcow
a cow for smartstrings
-
vector2d
The spoon of 2D vector libraries, intended for simple game development
-
stringlit
A macro to convert from str to String
-
const_struct
macro that allows const structures to be passed as const generics
-
high_mem_utils
bunch of mem safe abstractions,some involving transmute
-
shvar
POSIX-compliant shell variable substitution routine
-
repeated
Allows you to repeat a block of code a number of times
-
list_comprehension
A macro for Haskell-like list comprehensions in Rust
-
standalone-proc-macro2
Fork of proc-macro2 that uses rustc-ap-proc_macro so as to remove the rustc dylib dependency
-
error-ext
Error utilities
-
dyncast
Downcasting made easy
-
sconcat
String concatenation
-
option_macro
a convenience macro
-
dynamic-cast
The fifth pillar of OOP: dynamic casting
-
bon-cli
Dev tool for working with the
bon
crate -
delegare
delegate struct easy
-
laby_common
Shared code required by laby
-
verbex
Vebex is a Rust library that provides procedural macros for creating regular expressions in a verbose and readable way
-
redis-om
Redis ORM-style library that simplify the development process and reduce the amount of boilerplate code needed to build programs that leverage [redis] powerful capabilities and use cases
-
any_cmp
Support dynamic type comparisons
-
pusherator
Push-based version of Rust iterators
-
audiotags-dev-macro
macros used during the development of audiotags
-
ffizz-string
FFI string implementation
-
zoomer
Making Rust a true modern language™️ with revolutionary macros
-
tracerr
Custom compile-time captured error tracing
-
namable_closures
types and macros to create namable closure types
-
rust_bridge
The rust_bridge
-
type-variance
Marker traits for subtype variance
-
pluck
Extract values conveniently
-
have_len
container empty ? (
is_empty()
andis_not_empty()
) -
vm6502
A 6502 virtual machine backend
-
sod-crossbeam
Service Oriented Design - Crossbeam
-
try-guard
A guard! macro inspired by the guard Alternative function from Haskell
-
helper
provided some useful proc macros for Rust
-
string-config-parser
configuration file parser for Rust
-
nanopre
A a zero-dependency, no-unsafe implementation of a minimal C-style text preprocessor
-
enum-unitary
Trait and macro for unitary enums
-
strflags
A string-enum and string-flags with fixed variants that can also accept arbitrary data
-
cor_iter
Correlate of two iterators
-
fungi-lang
Fungi: A typed, functional language for programs that name their cached dependency graphs
-
macro-utils
Some macros to make code writing more elegant and funny
-
fast_delegate
delegate struct easy
-
ffizz-passby
FFI helpers for implementing pass-by-value and pass-by-pointer
-
ref_thread_local
A macro for declaring thread-local
static
s like using both oflazy_static!
andRefCell
-
err-convert-macro
Errors converting macros
-
itermap
Iterator tools for maps (
HashMap
,BTreeMap
, etc.) -
string_morph
string case transformations with an emphasis on accuracy and performance. The case conversions are available as functions as well as traits on String types.
-
beetle-nonzero
Combines the std
NonZero
structs into one struct -
darkly
scanf-style scanner
-
stub-macro
stub!() is a better version of todo!() that can be assigned to a variable
-
gha_main
Convenience macros for writing GitHub Actions in Rust
-
scope-functions
Kotlin-inspired scope functions for use in almost any situation
-
uni_tmp_jni
It's temporary fork for https://crates.io/crates/jni. Don't use!
-
haz
A thin abstraction over polymorphic environments
-
mod_use
pub mod xxx; use xxx::*;
-
throw
Efficiently add statically-calculated stack traces to errors
-
todo_using
A super small crate only exporting a single macro to "use" parameters
-
ddd-rs
Domain-Driven Design (DDD) building blocks, for Rust applications
-
fancy-default
A better
derive(Default)
implementation -
value_unit
every unit imaginable. Also contains a handy macro
-
shoulda
derive macro for test assertions
-
rustils
Utilities for rust
-
easy-min-max
Easy to use macros for min, max and clamp. Works with no_std
-
racros
Collection of rust macros
-
comp
Pure-macro Do notation and List-comprehension for Option, Result and Iterator
-
typeful
A collection of helper derive macros for type patterns
-
strpatmatch
string pattern matching
-
mathelogos
as a functional programming language
-
veccell
variant of Vec with interior mutability
-
retry-block
retry operations that may fail with configurable backoff behavior using macros over blocks of code
-
navigator
A Macro-heavy Domain-Specific Language for console apps with menu systems
-
forangex
Range maker for foreward/backward and step may be larger than 1 (or less than -1), plus index support
-
vnum
Create enums with a constant value associated to every variant
-
iter_from_fn
Create iterator from repeatedly aplying a function that takes no parameters
-
flip-flop
implements the flip-flop operator from Perl and Ruby as a Rust macro
-
no_std_strings
no_std version of crate fixedstr: strings of constant maximum size that can be copied and stack allocated
-
btl
shell scripting in rust. Github Repo: https://github.com/znx3p0/btlsh
-
regex_with
providing procedural macros for regex-based parsing and validation of custom data types
-
bitty_write_macro
A drop-in
write!
replacement that optimizes non-formatting writes for code size -
string-eyre
Convenience traits for dealing with errors that don't want to eyre
-
another-visitor
Lets you derive visitor pattern implementations
-
dyn-context
mechanism for lifetimes erasing
-
const-chunks
Extension trait to chunk iterators into const-length arrays
-
extent
replacement for std::ops::{Range,RangeInclusive}
-
simple-dmenu
macro to call dmenu
-
mcurry
Macros for creating curried functions
-
sha2-derive
exporting a derivable
Hashable
trait that works withsha2
-
tagged-pointer-as-enum
A set of structs, traits and macros to implement tagged pointers
-
enum_derive
macros for deriving additional functionality for enums
-
perthread
ThreadMap structure for accessing PerThread thread local variables form a static context
-
asserteq_pretty
An assert_eq macro that prints more helpful diffs on mismatch
-
qcontext
One-time initializable static state with statically-checked zero-cost interior mutability
-
onlyerror
Obsessively tiny error derive macro
-
prompt-organizer
better manage AI prompts in your Rust code
-
merge-hashmap
Merge multiple values into one
-
mapper-api
Api of the
mapper
crate -
temporary_enum_delegate_0_3_0
trait delegation functionality for enums and structs
-
runtime-contracts
Structured, understandable runtime contracts
-
target-cpu-fetch
Exposes a method for querying the CPU name from the current target specification JSON file
-
timed-locks
Smart pointers to
tokio::sync
locks that either panic or error after a timeout -
retryiter
A wrapper lib on top of rust Iterator with added retry support
-
splop
Helper functions to determine the first/last repetition of something
-
drop-bin
Defer running expensive destructors until later
-
kinds
Higher-Kinded Types simulated by GATs
-
strunemix
allows to build a struct with a form of its fields, by deriving enums of them
-
ward
ward! macro which returns the contents of an Option<T> and otherwise returns early, and a guard! macro, which does the same, but with a syntax more similar to Swift's guard syntax
-
win9x-sync
Windows 9x compatible synchronisation primitives for Rust
-
xselfref
Fork of the selfref library, with some additions
-
pyadvreader
Split text file into text sequences, strings and (line) comments
-
byteflags
A macro to generate bitflag-like structures with u8 flag values
-
almost
comparing floating point numbers
-
trait-enumizer
Proc macro to automatically generate enum based on method signatures (with appropriate helpers)
-
tokio-go
a golang like macro: go! (closure) backed by tokio. Supports threadpool dedication.
-
rerast_macros
Macros for use in Rerast rules
-
derive_default_builder
derives a builder implementation relying on all fields implementing Default
-
internship
Interned string and more
-
mod
project that provides two simple and useful utility functions for converting between Option and Result types
-
try_map
try_map
andflip
methods forOption
. These allow more ergonomic error handling when mapping functions that returnResult
overOption
. -
nonzero_lit
Easy, safe, and fully zero-cost NonZero constants and literals
-
opentalk-types-signaling-recording-service
Signaling types for the OpenTalk recording_service module
-
oofs
Error handling library that generates and injects context for you
-
flaky_test
atttribute macro for running a flaky test multiple times
-
dependent_ghost
Matt Noonan's 'Ghosts of Departed Proofs'
-
regi
Regi
-
heimdall_errors
Macros for From trait errors
-
tupperware
Storage traits for your types
-
quack
Duck typing traits
-
nanoval
A nan-tagged value for representing f64, i32, u32, booleans, null and arbitrary pointers
-
new_type
Experimental implementation of newtypes by type level logic
-
persian_str_rs
functions for working with Persian strings in Rust
-
iter-skak
Combines std::iter::Skip and std::iter::Take into one
-
partial_function
A clean way to define function as a set of subfunctions where each has defined start and end bounds
-
injectables
procedural macro library that enables field injection between Rust structs through #[injectable] and #[inject_fields] attributes. The library handles visibility rules, generic type resolution…
-
sqlx_query
Expands to either sqlx function
query
or macroquery!
call depending onsqlx_compiletime_checks
has been enabled during the build -
include_data_uri
include a file as a data uri
-
fullypeek
Peek forward in an iterator as far as you'd like, memory allowing!
-
advise
User-friendly status reporting
-
multi_try
Safely combine results
-
makepad-internal-iter
Internal iterators
-
with_builtin_macros
Helper for macro_rules authors to chain their macros with builtin ones (such as
env!
,include!
, orconcat_idents!
) -
strser
A struct serializer for rust empowered with a macro
-
io-read-line-prototype
Prototype for io::read_line
-
tenacious
[RETIRED: Will not work with MIR] A plugin to prevent certain types from being moved
-
zkp-macros-decl
Procedural macros
-
shadow-clone
A macro to clone variables into the current scope shadowing old ones
-
panda_pile
Traits for lazily producing and consuming sequences
-
enums_arena
enums_arena
is an arena that enums can be stored efficiently -
char_combinator
An iterator to create all combination of a given char range
-
csharp_binder
generate C# bindings for a Rust foreign function interface (FFI)
-
errer
Flexible error management for Rust. An middle-ground between failure and SNAFU
-
rs-std-ext
An extension for the standard library
-
seesaw
generate traits from C header files
-
guest_cell
Storage space for externally-owned private data
-
prost-unwrap-core
A procedural macro implementation for prost-unwrap library
-
macro_lisp
Lisp-like DSL for Rust language
-
curmacro
usefull macros like struct getters and setters creation macros
-
wherr
Enhance Rust errors with file and line details using the
#[wherr]
macro for clearer debugging -
bparse
parsing bytes
-
std_io_iterators
An iterator for
STDIN
and a wrapper forSTDOUT
. Allows easy piping, and graceful closing of application if pipe breaks -
typed_index
A strongly typed Index for vector, slice, and str type
-
pisserror
A golden rip-off of thiserror
-
warrant
A Swift-guard-like macro for Rust
-
thiserror-nostd-notrait
derive(Error)
-
is-odd
Returns true if the given number is odd
-
these
A three-way enum capturing This, That, or Both. Inspired by the Haskell package https://hackage.haskell.org/package/these
-
for-loop-iterator
Iterators like traditional for loops
-
ratelimit_rs
The ratelimit package provides an efficient token bucket implementation
-
dyn-fn-once
Dynamically-typed self-consuming closures in Rust
-
amethyst-inspector
unity-like inspector for amethyst
-
handlevec
Small abstraction over index-style iteration over a vector, with deletion, insertion, and other operations on the vector while iterating
-
leptos_datatable
A leptos component for creating tables with data validation
-
prometheus-metric-storage
Derive macro to instantiate and register prometheus metrics without having to write tons of boilerplate code
-
maflow
Flow macros: basically unwrap for return, continue and break
-
defile
Proc-macro helper to ungroup macro metavariables
-
type-factory
unique opaque types
-
oi-unwrap
unwrap without unwrap
-
multi_stack_queue
Abstraction layer for a stack-allocated multi-queue with bounded length. WIP
-
error-doc
proc macro to generate #[doc] comments from #[error] messages
-
aprox_eq
determining aproximate equality between floating point types and deriving this capability to structs comprised of floating point numbers and other implementers of
AproxEq
-
vec_filter
Vec Filter is a Rust library to filter a vector of structs based on a query string. It allows you to specify filter conditions on struct fields with a simple query syntax. The library provides a custom derive macro…
-
cargo-manifest
Helper crate to parse and manipulate manifests -
Cargo.toml
files -
bloc
A state management library
-
derive-attribute
A set of macros to automatically deserialize standard attributes
-
escher
Self-referencial structs using the async/await transformation
-
ordered_iter
Ordered iterators
-
loopcell
cell for multiple routes of access that are only used one-at-a-time in sequence
-
dreg-core
Core functionality for Dreg
-
nonasync
A set of utilities useful for building a non-blocking non-async APIs
-
breakable-block
A shim library for a stable implementation of what is proposed in RFC 2046
-
steel-gen
Code generation crates for use within steel
-
valid
Validate custom types by composing primitive validation functions. Use one common API for validating all kind of business rules including aspects of the application state. One common error type for all…
-
raw-cstr
Keep raw-cstrings in thread local storage for reuse
-
displaythis
derive(Display)
-
ever
Print the build information of your program with minimal boilerplate
-
value-bag-sval2
detail for value-bag
-
retoken
Build &str tokenizers using regex
-
tryiter
functions for Iterators of Results
-
ftkit
A small set of utilities for newcomers learning Rust
-
match_any
declarative macro, that matches an expression to any of the patterns and executes the same expression arm for any match
-
arraybox
A box with fixed capacity, backed by a byte array (it can be stored on the stack too). Implements fixed capacity
ArrayBox
. -
malvolio
programmatically generating HTML
-
sod-log
Service Oriented Design - Log Integrations
-
rust_jsc_sys
Low-level bindings to JavaScriptCore
-
cron_macro
cron macro
-
trait-gen
Trait implementation generator macro
-
disuse
The way to notify the implementation which return value is disuse
-
never-say-never
The never type (the true one!) in stable Rust
-
task_scheduler
easilty schedule an FnOnce to run in the future
-
transactional_iterator
Iterator that allows to commit or abort progress
-
delfi
Conveniently writing data to csv-files
-
either_n
An Either enum with N variants
-
sod-bus
Service Oriented Design - Single Producer Multi Consumer
-
loop_chain
Macro for writing nested Loop expressions
-
ijzer
Main crate for IJzer. Provides a macro for using IJzer in a rust project, and a prelude with dependencies..
-
hold-macro
extended todo!() macro that can suppress unused value warnings
-
fix-rat
A rational number type with fixed denominator
-
todo
Minuscule
TODO!
macro that lets you type-check and test but prevent compiling in release mode -
chainer
A cursed crate that allows for global call chaining with access to chained function results
-
write-to-file
Write to a file, simple helper fn and traits lib crate
-
namedarg_rustc_macro
namedarg main package
-
buffer
Safe, write-only, generics-free buffer abstraction
-
morphism
A structure for suspended closure composition in Rust
-
doxed
making Rust doc strings available at runtime
-
pack1
Byte array newtypes for different primitive types
-
as-result
Traits for converting types which may be interpreted as or into a result
-
tupley
Extension for primitive tuple (Hlist based on recursive structure)
-
ddi
Dynamic dependency injection library for rust
-
internal
fields in Rust
-
sod-mpsc
Service Oriented Design - Multi Producer Single Consumer
-
fast-floats
Fast-math wrappers for floats; experimental and unstable; for experiments
-
hazmat
A collection of helpers for working with hazardous materials in Rust crates
-
syn-ext
Human friendly or editable extension for syn
-
split_exact
splitting strings into arrays of slices
-
only_every
rate-limiter macro: only_every!(Duration::from_millis(200), expensive_expression)
-
jealousy
A wrapper arount the envy crate, providing an easily implementable trait
-
selfref
Semi-pain-free self-referential pinned types
-
partial-default
PartialDefault, a trait similar to Default but with fewer guarantees
-
singleton-trait
Singleton trait for types with unique values and Erased type for zero-sized ownership proofs
-
destruct
structs and enums for simpler combinator implementation
-
iota-rs
macro for other Go refuges who miss const blocks and iota
-
null-kane
currency crate with the option to add your own currency localization logic
-
sycamore-state-core
sycamore-state core types and trait definitions
-
retry-error
An error type for an operation that can fail more than once
-
repr-trait
Traits to represent Rust reprs
-
os-thread-local
OS-backed thread-local storage. This crate provides a
ThreadLocal
type as an alternative tostd::thread_local!
that allows per-object thread-local storage, while providing a similar API… -
libmw
constructing a pipeline of middleware functions
-
ps-util
aims to provide generally helpful utility functions and traits
-
totally-ordered
No dependency, no-std totally ordered f32/f64
-
agoraui-runtimes
AgoraUI reactive runtimes
-
tcs-dhbw
Modules for a model traffic control system project at DHBW Stuttgart
-
objectionable
storage of unsized types inline inside allocated objects
-
pollock
An ergonomic and performant processing-like library for generative art and simple games in Rust
-
dev_bestia_string_utils
string manipulation
-
rustc-ap-rustc_span
Automatically published version of the package
rustc_span
in the rust-lang/rust repository from commit 9a27044f42ace9eb652781b53f598e25d4e7e918 The publishing script for this crate lives at: https://github… -
greedy_enum
derive macro of FromStr for enum
-
eager
macro expansion
-
easy-ext
A lightweight attribute macro for easily writing extension trait pattern
-
early_returns
Macros to make early returns easier to work with in Rust
-
r4
A compact macro that generates iterators using for comprehensions and natural Rust syntax
-
io-window
Seekable I/O adapter that limits operations to a byte range
-
stringreader
wrapper for strings so that they can be consumed via the std::io::Read trait
-
forkable
Fork-able iterators and asynchronous streams
-
en
The easiest numeric traits!
-
shoggoth
Generic and type-level programming for Rust
-
for_each_repeat
Iterator::for_each
that can repeat current iteration -
fastpeek
A different way to peek iterators
-
retry-policy
Retry Policy
-
ld_preload_helpers
Macros to run code at load time and override C functions
-
iter-diff
Differences between iterators
-
type-handle
Regular and reference-counted type handles
-
size
expressing, formatting, and interacting with file sizes
-
thin-boxed-slice
ThinBoxedSlice
stores the size of the slice before the content of the slice, so thatsize_of::<ThinBoxedSlice>
is only the size of a pointer -
asyncsync
Runtime-agnostic synchronization primitives for asynchronous Rust
-
aoc-util
function for aoc
-
variant_count
Derive macro for enum which adds to it the count of variants
-
rsyntax
-
cryo
Extend the lifetime of a reference. Safely.
-
vector_calculus
A single easy-to-use library for all vector calculus computations
-
common_regex_rs
Set of common regex for Rust
-
type-fn
Allows for simpler coding of type-level logic, e.g. for type-number systems.
-
targets
Some helpers to get you started with declarative programming in Rust
-
supply-chain-trust-example-crate-000028
A macro for declaring lazily evaluated statics in Rust
-
dyn-any
An Any trait that works for arbitrary lifetimes
-
wrapping_macros
A macro for wrapping arithmetic
-
rust_c
Write C code inline in your rust code (hacky fork of rust-cpp / cpp crate)
-
deferred-box
Defer the value set after the struct has been initialized
-
easy_switch
A macro for traditional C-style switch statements
-
lens-rs
lens implemented in rust
-
stringedits
Edit trait and associated iterators for small edits to strings
-
const-units
that lets you check the dimensions of your quantities at compile time and run time
-
concat_strs
Macro for quickly building a String from components
-
name-it
Give a name to async fn return types
-
approx_eq
A macro for comparing equality of two values up to an arbitrary error in the *relative* difference
-
coercible_errors
Zero-cost error handling for generic traits
-
bioneer
An Open-Source Rust Implementation of Bionic Reading
-
macaroni
The missing macro std library for Rust
-
input-macro
No-nonsense input!(...) macro for Rust
-
smooth-operator
Procedural macro that transforms regular infix arithmetic expressions into checked arithmetic expressions
-
zerocopy
makes zero-cost memory manipulation effortless. We write "unsafe" so you don't have to.
-
memprint
A way to print memory layout of a struct
-
dynstack
A stack for trait objects that minimizes allocations
-
derive_constructors
Deriving From, TryFrom and create new_with_*args* functions
-
fuzzypath
Quick & dirty fuzzy path comparison
-
makero
A
macro_rules!
macro to aid in the creation of complexmacro_rules!
macros -
components-arena-traits
Does not intend for direct use
-
simple_scan
Iterator extensions for simple scan operation
-
rassert-rs
macro for expressing Result-returning assertions
-
bilk
Miscellaneous convenience functions and traits
-
fallthrough
Pattern match with fallthrough, in the style of C switch
-
type_enum
Create tagged unions consisting of different types
-
lua-macros
Useful macros to join Lua with Rust
-
pin-init
Safe pinned-initialization in Rust
-
data_models
used to lookup the sizes of various C-types of historical data models
-
kvtree
Heterogenous in memory key value tree storage
-
linq
Language Integrated Query in Rust
-
east
Full-stack web library for island architecture
-
reinterpret
Low level utility functions to reinterpret arrays of data
-
error_handling
Macro used to clean and centralize error handling within async processes
-
versioned-file
adding versions and upgrade schemes to files
-
lithium
Lightweight exceptions
-
traverse
Proof-of-concept trait for internal iterators called traversals
-
unzip3
Same as Iterator::unzip, but for 3 items. Based on Rust 1.6 implementation.
-
hexify
Format hex
-
display_with
Return opaque impl Display and/or impl Debug types via display_with and debug_with
-
crashreport
Automatic GitHub crash reporting system for any Rust crate
-
slid
labeled IDs
-
htmxpress
Procedural macros for generating htmx strings
-
higher_order_functions
A small collection of traits for implementing higher order functions
-
iprint
debugging utility that prints indented text based on function call depth
-
garando_pos
Backport of libsyntax_pos
-
except
The only one
Error
-
frust
Functional Programming in Rust
-
derivative
A set of alternative
derive
attributes for Rust -
detour2
A cross-platform detour library written in Rust
-
lifted
Higher-kinded types in Rust
-
set_env
Sets environment variables permanently across all major platforms
-
namedarg_hack
namedarg main package
-
vmm
A math library focused on vectors and square matrices
-
dyn_partial_eq
PartialEq macros for trait objects
-
switch_statement
switch statement macro
-
query_interface
Dynamically query a type-erased object for any trait implementation
-
smurf
SMall Useful Rust Functions
-
phantom_newtype
Lightweight newtypes without macros
-
validus
A string validation library
-
noders
NodeJS-like event loop environment for Rust
-
rust-enum-derive
(and program) for generating rust enums and associated traits from text files
-
abi_stable_shared
detail of abi_stable
-
ident-util
macro to determine the string name of a binding, type, const, or function
-
herbie-lint
A rustc plugin to check for numerical instability
-
context-rs
Pass values down the async call stack, with no_std and no_alloc support
-
whaterror
Customizable handling for fallible main
-
pingora-error
Error types and error handling APIs for Pingora
-
bystr
macro to create compile-time, fixed length, byte array from a string
-
flow-control
Declarative macros for common flow-control use cases such as break, continue, and return
-
prctl
This package provides safe abstraction to the linux prctl() interface. Some functions may be architecture-specific.
-
traced_result
Proof-of-concept error tracing using the
Try
trait -
cflp
A context-free-language parser generated by procedural macros
-
wgpu_bind_dsl
An experimental macro dsl for describing Bind layouts in wgpu-rs
-
validator_types
Basic type for validator and validator_derive
-
std-traits
Traits for types in the standard library
-
shoogah
Add some syntactic 'shoogah' to Rust
-
okk
approach to replacing the
Ok(())
-
std-io-peek
Peek trait
-
vec-utils
vector utilities
-
dyn-error
Error-related utilites for Rust
-
podstru
Bureaucratic structs to speed up rust development
-
racer-interner
thread-local string interner for racer-rust
-
dyn_traits
Magically derive non-object-safe traits
-
negative
impls in stable Rust
-
safe_unwrap
allows unwrapping and annotating that the unwrap will never fail. Does not require
std
. -
fast-rustc-ap-rustc_lexer
Automatically published version of the package
rustc_lexer
in the rust-lang/rust repository from commit 15812785344d913d779d9738fe3cca8de56f71d5 The publishing script for this crate lives at: https://github… -
stack-tokens
stack token implementation for convenient TLS borrowing
-
kaguya_rs
Functional Programming tools and ADTs
-
multindex
Index slices with multiple const indices/ranges
-
lox_utils
General helpers used by Lox
-
trait-union
Stack-allocated trait objects
-
splitbits
Concise bit field extraction
-
rspack_macros_test
rspack macros test
-
to-syn-value
Defines a derive macro to implement a trait converting values to instances of syn::ToDeriveInput
-
quick_io
facilitate input and output within programs, with a set of macros
-
count-to-non-zero
Extends Rust’s Iterator trait to include a
count_to_non_zero
method, returning an Option for a more expressive and type-safe way of counting elements. This crate provides… -
string-builder
string builder type
-
rexpr
Rust Json Object access Runtime
-
orx-linked-list
A linked list implementation with unique features and an extended list of constant time methods providing high performance traversals and mutations
-
function-compose
lib to allow composition of sync and async rust functions
-
fat_type
A type which permits thin references to arrays and dynamic types
-
microtype
simplify the creation of microtypes
-
eliza_error
“Times are bad. Children no longer obey their parents, and everyone is writing an error handling library.” — Cicero
-
type-uuid
Safe, stable IDs for Rust types
-
ataraxy
Discord slash commands framework for Serenity
-
sh-inline
Macros to run inline shell (bash) script
-
slots-slice
manipulating slices of optional values
-
near-safe-cell
A more ergonomic 'UnsafeCell' wrapper/replacement
-
i-codegen-code
Common tools supporting the
derive-codegen
crate -
remit
Rust generators implemented through async/await syntax
-
phantomdrop
Go-like deferring of function calls
-
light_enum
provide a derive keyword to generate a light enum
-
anxious
panic-free dialect of Rust
-
fs_util
A package providing a few useful functions that std::fs does not
-
err-per-field
A more fine-grained control over field-level error handling
-
gtk_widget_macro
A derive macro helps you handle Gtk widgets
-
array_trait
A generic trait for any array, with item as type and length as const parameter
-
fieldx_plus
Design patterns built on top of fieldx crate
-
switcheroo
Lightweight userland context switches
-
stuff
Stuffing things into pointers
-
taker
Option-like taking for everyting with a default value
-
hlist
Heterogeneous list with type-directed search
-
avocado-schema
A schema DSL which can be interpreted to implement multiple purposes
-
newtype-derive-2018
macros for deriving common traits for newtype structures
-
qwutils
some utilities
-
fluid-macro
Write long method chains as a series of steps instead, and more!
-
nstd_env
NSTD env crate
-
cex
Checked exception simulation
-
common_macros
common macros like
hash_map!
orhash_set!
(WIP) -
anony
Anonymous struct
-
errify
Function error context provider
-
int-to-c-enum
TryFromInt - A convenient derive macro for converting an integer to an enum
-
py-comp
A macro implementing a Python-like generator expression
-
lateinit
Unsafe late-initialization for statics
-
unsafe-any-ors
Traits and implementations for unchecked downcasting
-
std_prelude
prelude that the rust stdlib should have always had
-
rvs-repl
REPL for Rvs - A library for defining and evaluating random variables using a simple DSL
-
constrained_type
On the fly value objects in Rust
-
find_all
A (nearly) identical alternative for
Iterator::find
which returns anOption<Vec<usize>>
containing all elements which meet a given predicate (instead of just the first) -
rustility
A collection of utilities I often find myself using in Rust
-
rustkell
haskell like functions in rust
-
opentalk-types-signaling-recording
Signaling types the OpenTalk recording module
-
com-scrape-types
Support code for bindings generated with com-scrape
-
callable
closures implementing PartialEq and argument operations
-
gitoxide-core
implementing all capabilities of the gitoxide CLI
-
orderless
Orderless/named functions in Rust.
add!(b = 2); // 4
. -
flagged
Bitflag-based warning type
-
iter-tee
Make several clones of an iterator
-
hatch_result
A result-like struct that returns on Ok, instead of on Err when ? operator is used
-
big_mac
A metamacro toolkit for writing complex macros
-
deno-bindgen2-common
Common library used by the deno-bindgen2 project. Contains mainly implmenentations for parsing and transforming Rust source code.
-
typestate-builder
Derive-macro-based generator that combines
Typestate
andBuilder
patterns -
parameterized_test
A macro to support providing arguments to test functions
-
schemars-zod
A few functions to aid Zod schema generation from rust types annotated with schemars
-
fungus
reduce code verbosity
-
tyco
Macro for generating scoped TYped COntexts
-
string-utility
substring implementation (with the RangeBound trait), keep string before or after a specified string, etc
-
detach
helper type for being able to detach/reatach a member item
-
simple-counter
Macro for generating thread-local static counters. Useful for basic ID generation.
-
typed_macros
Adds typing to your macro's arguments, making it a lot less of a pain to deal with them
-
cismute
Safely transmute type to itself in generic contexts
-
cxx-symbols
detail of the
cxx
crate -
rstgen
Even simpler code generation for Rust
-
ground-env
Parse env variables by defining a struct
-
readfilez
Quite fast file to slice reading
-
impl-converter-helper
declarative macro library to help you implement the
From
orTryFrom
trait for your type -
ngram_iter
An iterator of arbitrary N-grams of rust Copy types
-
trait_enum
Easy enum wrapper that implements all traits that the wrapped objects implement
-
byte-mutator
define staged mutations for a series of bytes
-
fb_cloned
Cloned macro
-
ts_quote
Procedural macros for quasi-quoting TypeScript from Rust
-
incomplete
incomplete!(), a compile-time checked version of unimplemented!()
-
bevy_cell
Attach Bevy's Handles/Entities statically to Types
-
pre
Compile-time assistance for working with unsafe code
-
intern-all
A safe and predictable interner for data of mixed and arbitrary type
-
parsr
a libary for simple parsing
-
desaturate
This package aims to makes it easier to maintain a single code base for both regular and async functions
-
range_check
bounds-checking and range helpers
-
custom_float
Custom floating-point types
-
fuzzy_match_flex
Fuzzy matching library based on the popular
FuzzyWuzzy
library for python -
multi_stream
Aggregate multiple streams of different types in a single stream with an item type that is a tuple of the incoming stream items
-
lexington
A very simple library for lexing / parsing
-
project-uninit
Macros for safe references to and initialization of fields in MaybeUninit structs
-
max_values
Struct and iterator extension trait for getting max values out of given
-
type-record
A type-level record (see documentation for details)
-
standalone-quote
Fork of quote that allows disabling the proc-macro feature in proc-macro2 so as to remove the rustc dylib dependency
-
atruct
macros for anonymous structs in Rust
-
rc-borrow
Borrowed forms of Rc and Arc
-
with_capacity_safe
A safer alternative to Vec::with_capacity with into_raw_parts which can be used from stable
-
beaver
setting up Rust objects inspired by factory_bot
-
raw_struct
procedural macro for easily declaring C-style structs that reference local or external memory, based on your memory implementation. It generates appropiate getter methods for easy access.
-
fix_me
A very simple macro that lets you write temporary code that WILL NOT build in release mode
-
anonymous-trait
Anonymous trait implementation with capturing the environment
-
ejni
working with JNI more pleasant
-
furtif-core
Flexible User-oriented Rusted Toolbox for Information Fusion: a data fusion toolbox based on asynchronous and interacting processes, particularly focused on belief functions fusion
-
yolo-block
Like a
try
block, but automatically unwraps the result -
cgp-sync
Async-generic primitives to support both sync/async in context-generic programming
-
borrow-framework
More flexible borrowing
-
chunk_iter
Chunked iterator generic over any iterator
-
read_buffer
ReadBuffer, a wrapper to safely read into a buffer from a Read
-
amass
Automatically generate
From
impls for nested enums, even across crates -
yadir
Dependency Injection Registry for Rust
-
rust-fp-categories
A Functional Programming Library in Rust, Category
-
okey
Everything is Result::Ok
-
c-emit
Polished builder API to write C Code
-
sensitive_trait
A marker trait for sensitive information
-
romap
A trait for read-only-maps
-
iex
Idiomatic exceptions
-
named_constants
Procedural macro makes enums behave like named constants in languages like C/C++ or C#
-
intuple
Convert structs and enums into tuples (of refs) and back - recursive, ignore fields
-
hex-slice
Extends the std::fmt::*Hex traits to slices
-
oneoff
one-off types
-
qcomms
small library that offers a simple, zero-cost message passing trait. no async-trait
-
try-drop
Batteries included error handling mechanisms for drops which can fail
-
ironplc-dsl
Domain-specific language objects for IEC 61131 language elements
-
enum_to_enum
Derives possibly effectful conversions between enums
-
sod-tungstenite
Service Oriented Design - Tungstenite
-
tightness
Define types bound by arbitrary invariants and conditions
-
singleton-stepanov
isn't meant to be used by itself, but as template for your our types. Attempt to do Efficient Programming with Components: Lecture 2 Part 1, Efficient Programming with Components:…
-
laxcow
Clone-on-write smart pointer with relaxed trait constraints
-
ryu_floating_decimal
Fast floating point to floating decimal conversion. See the crate 'ryu' for more details
-
always_equal
A wrapper for types that can't implement Eq
-
dec-number
Decimal Floating Point Arithmetic for Rust
-
serenum
Generate string representation for a enum
-
nullable-result
A replacement for Option<Result<T, E>> or Result<Option<T>, E>
-
fmterr
Sane error reporting that just works
-
byteorder_slice
Byteorder like crate for &[u8]
-
err-context
Lightweight context layers for stdandard library errors
-
interleave_n
A generic iterator interleaving extension for iterators of iterators, based on itertools
-
svgmacro
Write any SVG easily from Rust!
-
mods
Simpler module declaration
-
config-docs
A trait and derive macro to generate documentation for your structs
-
kv-derive
Derive struct conversions from and to key-value vectors
-
rhizo-types
A collection of common Structs and Enums used in the software components that comprise the Rhizo network
-
result-ext
Extends
Result
with additional operations -
p2panda-stream
Stream-based methods to conveniently handle p2panda operations
-
birds
Combinators using Rust macros
-
displaydoc-lite
Implement the Display trait using your standard doc comments
-
general_tools
offers many functions for many different types of operations, such as operations with strings, numbers, files, and more!
-
restate
state machine library
-
unused
Allows for unused generic parameters that do not act like they are owned
-
rustcomp
Adds vector, map, set, and iterator comprehensions to Rust
-
tuplify
Generic hlist/tuple library
-
kinder
small crate which adds an algebraic structure to common Rust structs and emulates higher order types
-
similar-structs-macros
Quality-of-life macros for more concise struct/enum definitions
-
nvim-oxi-types
Rust bindings to types used by Neovim's C API
-
therror
derive(Error) with a twist (based on thiserror)
-
const_power_of_two
working with constant generics that are powers of two
-
enum-lexer
A proc_macro lexer generator. using
enum
-like syntax. -
confgr_core
A collection of traits used by the confgr derive macro
-
teloc
compile-time DI framework for Rust
-
zero_v
implementing iterators over function outputs for collections of types implementing a common trait, without using vtables/ dynamic polymorphism
-
catch-unwind
Wrappers for catch_unwind that handle the edge case of the caught panic payload panicing
-
flat_vec
macro to flatten nested Vecs. Particularly useful when you want to write a rules of egg which contains rules both => and <=>.
-
chandeliers-err
Internal error message generators for the Chandeliers project
-
rich-result
Rich result type differentiating between recoverable & fatal errors
-
cell
A replacement of std::cell::RefCell adding advanced support for mapping borrows
-
axpy
Macro for auto-vectorizing n-ary linear combinations
-
plmap
Parallel pipelined map over iterators
-
mightrix
treat continous memory as a matrix
-
ruroonga_command
A tiny Groonga query builder and generator
-
type-registry
Static type registration
-
variant_access_traits
A set of traits and for defining a common api for Rust enums based on the std::variant api in the C++ standard library
-
typefun
Emulating various values at compile-time using types
-
expandable-impl
What if we could check declarative macros before using them?
-
unsafe-any
Traits and implementations for unchecked downcasting
-
u-plus
Pretty Unicode code point literals: U+12345 instead of '\u{12345}'
-
newtype-ops
Mass-derive many operators for newtypes. Wartier than newtype_derive.
-
mauzi
Experimental i18n library using proc-macros
-
try_or_wrap_s
?
ortry!
macro, with an additional wrapping of the error in something else -
crossdylib
Cross-platform shared state across shared libraries/modules
-
codespan-derive
derive(IntoDiagnostic) for easy codespan integration
-
exonum_leveldb
An interface for leveldb
-
r-ex
Zero-bloat Rust core library extensions
-
appro-eq
Approximately equal traits and assertion
-
numeric_literals
Easily cope with numeric literals in generic Rust code
-
aether_primitives
Helpers for common SDR and signal generation operations
-
unwrap-enum
generate methods to access enum variants
-
ixc_core
Interchain SDK Core
-
trait_exerci
how to understand the trait for rust
-
rooting-forms
Generates HTML (rooting) forms from structures
-
zhi_enum
derive macros to easily use enum
-
anyhow_ext
Extension of anynow
-
identifiers
working with rust identifiers and keywords
-
simple-life
async lifecycle trait and convenient macros
-
generic_static
Generic static variables in generic functions
-
rust-cef
Trait to serialize/convert/map a Rust item into an ArcSight Common Event Format string. This trait enables logging libraries and frameworks that may wish to integrate with standardized…
-
pipeop
Adding the pipe operator to Rust with a declarative macro
-
magic_static
Global singletons initialized at program start, an alternative to lazy initialization
-
structural
Field accessor traits,and emulation of structural types
-
variant_counter
Rust's Enum variant counter
-
enum_variant_macros
Macros to generate From & TryFrom for enums
-
supply-chain-trust-example-crate-000032
Extra iterator adaptors, iterator methods, free functions, and macros
-
termcolor_output
Interface crate for styled output to termcolor through macro
-
do-not-use-testing-rosidl_runtime_rs
Message generation code shared by Rust projects in ROS 2
-
slice-copy
Go style copying for slices
-
funlib
Rust functional library
-
statenum
enabling enums in state-pattern logic
-
comparator
A Java-like Comparator type
-
default_macro
My default!() macro
-
utilz
miscellaneous utilities too small for their own crates
-
kg-symbol
Atomic strings in Rust
-
error_def
syntax extension for generating error-handling boilerplate code
-
vec_vec
When dealing with
Vec<Vec<T>>
is unavoidable -
getfn
generating function pairs to refer to functions via custom expressions
-
match_opt
A macro for turning a partial match into a full match returning an option
-
fang_oost
implementing Fang and Oosterlee's algorithm for inverting characteristic functions
-
nostdhf
Polyfills the missing methods on f32 and f64 in no_std environments
-
builder_option
A macro to generate builder class for a struct
-
RustyEmitter
RustyEmitter is a basic implementation of a simple emitter. The module expose a Events trait with the on, off and emit methods, and a default implementation of that trait, called Emitter.
-
hexspec
A dsl for creating and verifying byte buffers
-
closure_attr
An attribute macro to simplify closure captures
-
entwine
Generic slice-like interface for operating on multiple slices at the same time
-
arr_ty
Macros for smart array initialization (best for trait object element types)
-
repository
all kinds of entities
-
min-specialization
Experimental implementation of specialization
-
nvim-types
Rust bindings to the Neovim C types
-
pgx-utils
functions for 'pgx'
-
extended_matrix_float
Float trait for extended_matrix lib
-
spans
Split an iterator into contiguous spans
-
tiptoe
An easy-to-support intrusively reference-counting smart pointer
-
atomic_non_null
An atomic wrapper around NonNull
-
strong
Strongly typed String
-
try-iterator
Adds a few fallible methods to iterators
-
vesta
Extensible pattern matching
-
cpp_to_rust_generator
Automatic generator of C++ library wrappers
-
assure
macros for Rust runtime checks and error handling
-
accompany
with
-like macro for Rust -
unwrap_or_do
Unwrap the Result or do an expression followed by returning the result
-
with-id
trait providing method for getting string id from struct
-
seestr
pointer-wide nul-terminated strings with ownership semantics
-
lazy_thread_local
Lazily initialised per-object thread-local storage
-
is-same
A trait for comparing object equality
-
flag-mast
Ergonomic Rust bit flags
-
cassandra_macro
Create Cassandra tables and CRUD CQL prepared statements from Rust structs. (custom derive: cassandra_macro_derive)
-
irox-enums
Traits for better Enumerated Types
-
khtml
macros for simple html generation
-
pretty_panics
pretty panic messages
-
xstd
eXtended STandarD library
-
not-so-fast
data validation with derive macro
-
recur-func-parser
parser for general/partial recursive functions and their execution
-
thin-slice
An owned slice that packs the slice storage into a single word when possible
-
kwarg_macros
Keyword argument plugin
-
macro-circom
Circom DSL providing macros used in Light Protocol
-
forsyde-io-libforsyde
The LibForSyDe trait hierarchy and their functions, built on top of the Rust ForSyDe IO supporting library
-
apply_attr
A syntax extension providing higher-order attributes to Rust
-
mdo
Monadic do notation for rust using macro and duck typing
-
unwind_safe
Readable unwind-safe code thanks to a try-finally-looking builder pattern
-
iter-scan
Iterator scan methods that don't suck
-
similarity
calculating similarity between numerical slices
-
quark
Types for manipulating numeric primitives at the bit level
-
extrude
A macro for unwrapping an enum value into an Option
-
lubeck
Functional programming framework written in cutting edge rust
-
collection_literals
macros for initializing std::collections
-
if_empty
Replace if/else checks for emptyness with a simple method call
-
mat-rs
no_std implementation of mathematical matrix types
-
tap-trait
Inspect and mutate values without leaving the method chain
-
nias
closure generator library
-
get-field-by-type
Get a value of field, based on the type of a field
-
hemtt-preprocessor
A preprocessor library for hemtt
-
finite-fields
Traits and types for computations on finite fields
-
qed
Compile-time assertions
-
shorten
A collection of convenience functions, macros and traits to shorten repetitive code
-
fastperm
A dead-simple, extreme fast permission flag system for Rust with no dependencies
-
macro_error
A macro to display error message
-
zipped
recursively unzipping tuples, Options of tuples and Results of tuples
-
thiserror_core2
derive(Error) (no_std-enabled using core2)
-
duplex
trait: interactive streams
-
ambience
Lightweight library for passing ambient parameters
-
on_drop
on drop
-
bongonet-error
Error types and error handling APIs for Bongonet
-
rusty_helloworld
Mastering Rust, step by playful step.Rusty_Helloworld is your one-stop shop for exploring the diverse landscape of Rust through practical examples. Whether you're a beginner diving…
-
zst
Zero-sized generic type with the associated type exposing the type parameter
-
iterator-ext
An extension to Rust's Iterator
-
datafet
Few functions that we use in all of our Rust applications
-
intercom
writing COM visible Rust components
-
eiffel-macros
Eiffel is a library for Eiffel language inspired guard clauses with Rust macros. This is the macro rules part of the library.
-
transaction
abstraction library (a.k.a. transaction monad)
-
emboss
A small macro to embed metadata as an ELF/Mach-O section in your final binary
-
derive_convert
Derives 'impl (Try)From for Self' and 'impl (Try)From<Self>'
-
user-panic
Error messages
-
clone-macro
Super simple utility macro for cloning before moving into a move closure/block
-
not_empty
Slices and vectors that are statically guaranteed to be not empty
-
strongly
A proc macro to create strongly-typed primitives
-
fortify
convenient way to bundle owned data with a borrowing type
-
unreachable_checked
unreachable!()-like macro that causes linking error instead of panicking. May be used to statically ensure some code won't panic.
-
signrel
Trait expressing relationship between integers of different signedness
-
null-terminated
slices and UTF-8-encoded strings with thin references
-
ffi-toolkit
A collection of functions useful for working with the Rust FFI
-
struct_cache_field
Proc macro for caching method to struct field
-
rusty-peg
A macro for defining PEG parsers
-
genz
Uniqueness of types via invariant lifetimes
-
boolinator
trait, which lets you use Option and Result-style combinators with bools
-
rangetree
Range-tree for storing non-overlapping scalar ranges
-
bset
Fast and compact sets of bytes or ASCII characters
-
source-chain
Formats StdError with it's source chain
-
floating-ui-utils
Rust port of Floating UI. Utilities for Floating UI.
-
to_tokenstream
An interface for creating a compiler within a Rust macro
-
units
Measure for Rust. Easy to use, type-safe and customizable.
-
opentalk-types-signaling-polls
Signaling types for the OpenTalk polls module
-
new_flattened
Macro to flatten nested calls of
new
s -
has_fields
Some macros helpful for processing forms with optional fields
-
constructor-lite
Generate minimal constructors for structs
-
chisel-common
Chisel common macros, types and functions
-
generator_extensions
Basic extensions to Generator types to bring parity with Iterators
-
prefixes
Attribute-like macros imitating literal prefixes, e.g. #[f]"Hello, {world}"
-
enum_index_repr
EnumIndexRepr provides a small macro which allows getting the index on an enum
-
formy
derive macro to turn structs into html forms
-
sqlx-executor-alias-macro
SQLx Executor alias macro
-
variadic_generics
A first attempt in using traits & tuples to work around Rusts lack of variadic generics
-
fmap
Functors in Rust
-
swiss-army-knife
Common utility code to support linux-support and other projects
-
fgoxide
Utility/QoL code for writing command-line / file processing tools
-
context-iterators
Iterators adaptors with associated read-only data
-
literal
Literals for Rust's collections
-
extension-eyre
Re-export of color-eyre that introduces Extensions (type-map) to eyre::Report
-
copypasteck
A plugin lint for detecting
if
andmatch
branches with duplicated conditions or contents -
dyn_ord
Equality and ordering for trait objects
-
hacspec-lib
The hacspec library
-
check-ends-macro
A couple of macros to simulate match with starts and ends of a string
-
fed
A sketch implementation of anonymous, tagged unions in stable Rust
-
endian_trait
A trait for Endianness conversions that can be implemented on most types
-
speedy_refs
A collection of simple and fast and useful smart pointers
-
once
assert_has_not_been_called! macro that panics if the surrounding function is called twice. Useful for initialization functions.
-
matches2
A macro to evaluate, as a boolean, whether an expression matches a pattern
-
improved_slice_patterns
A tiny crate that provides macros to help matching on Vecs and iterators using the syntax of slice_patterns
-
gpp
A generic C-like preprocessor for Rust
-
variant_access
A set of traits and macros for defining a common api for Rust enums based on the std::variant api in the C++ standard library
-
xreflect
Basic macros for dynamic reflection of structs/enums
-
structinator_traits
traits allowing transfer of data from iterators to structs
-
ufcs
Helper trait to call free functions using method call syntax
-
tectonic_errors
A boxed error type for Tectonic, with supporting utilities
-
interior_mutability_pointer
A wrapper around
Rc<RefCell<T>>
allowing immediate access to inner methods -
dependent_view
Wrappers to produce weak trait objects from reference types
-
ternop
A tiny macro that implements a ternary operator for Rust
-
litenum
minimal convertion utilities between literal and enum
-
checked_ops
Automatic checked arithmetic operations in Rust
-
err_tools
Helper traits and functions for building errors in rust
-
nested-ref
References to data contained in one or more nested RefCells
-
inline_default
Macro for inline Default implementation
-
auto-currying
Automatically implement Curry for callable types such that they are curried functions
-
inner
The inner! macro descends into an enum variant. It's more flexible than try!() and unwrap(), and it works with your enum, too!
-
the-newtype
The Newtype trait
-
exprtk_rs
Rust bindings to the ExprTk C++ library (http://www.partow.net/programming/exprtk)
-
hexf-parse-libm
Parses hexadecimal floats (see also hexf)
-
boar
Flexible clone on write smart pointers with Borrowed, Owned, Arc, Rc and Static variants. Like std's Cow without the ToOwned requirement and additional Rc, Arc or Static variants
-
vlq-bij
Bijective Variable-Length Quantity encodings
-
static_interner
Similar to
internment
crate, but with interface and performance tweaks -
enum_like
trait to treat any type as an enum. If a type has a reasonably small number of variants, for example a
struct A(bool, bool)
which has 4 variants, this trait provides a 1-to-1 mapping from type value to a… -
stivale_rs
Rust bindings for the stivale boot protocol
-
check
Convenience assert!-like macros which return instead of panicking
-
lazy_transducer
Lazy, parallel, indexable, generic data iterators
-
instruct-macros-types
Instructor Macro Types are a collection of simple types that we export to work with the instruct-macros crate
-
dyn-ptr
A box that stores types like pointers, forgetting everything besides
Self: Unsize<dyn Trait>
-
fallacy-clone
fallible clone
-
encoding-next_index_tests
Helper macros used to test index tables for character encodings
-
result
Helpers for dealing with nested Result and Option types
-
stable-step
Step for stable rust
-
supply-chain-trust-example-crate-000023
Single assignment cells and lazy values
-
rangecutter
working with adjacent ranges
-
stripmargin
but elegant multiline string in Rust à la Scala
-
stable_borrow
A marker trait indicating that borrows are address-stable
-
thisisplural
#[derive(Plural)] for creating frictionless new types with any collection type like Vec or HashMap
-
current
setting current values for stack scope, such as application structure
-
trait-alias-macro
Trait Bound Alias using Macros
-
error-context
Methods and types that help with adding additional context information to error types
-
aidanhs-tmp-parse-generics-shim
A stable shim for the proposed RFC #1583; provides macros for parsing generics and where clauses
-
call-once
A type that can only be called sucessfully once
-
repeater
Proc-macro for repeating tokens
-
cute
A macro for Python-esque comprehensions
-
volcell
A container type that can hold volatile data and allow for safe reads and mutation of its contents with support for use in packed structs
-
typesafe-builders
Infallible compile-time checked builders for your structs
-
cpp_to_rust
Automatic generator of C++ library wrappers
-
mapstruct
Create refactor safe derivatives of Structs with proc-macros
-
rusty-matrix
A generic matrix implementation
-
batch_oper
some batch operation macro for some operations
-
slip
A hassle-free utility to encrypt error handling strings in your public binaries to protect your business logic
-
catch_panic
A helper macro for safe Java-Rust interop that "catches" Rust panics and rethrows them as Java exceptions
-
match-commutative
Match on patterns commutatively, reducing the use of duplicated patterns. ↔️
-
zerror_core
A complete implementation of the zerror:Z trait
-
lit2
Collection helper libraries and “literal” macros for HashMap, HashSet, BTreeMap, and BTreeSet
-
modifier
Fluid chaining APIs for both mutable ownership types
-
unnest
Macros for an unnested control flow
-
dyck
running Dyck and InterDyck algorithms over languages of generic <T> token enum instances or string slice types
-
join_to_string
Join a list of items to string/buffer
-
hexhex
hexadecimal conversion 🪄
-
prefixopt
See Read Me. Automatically derive options from structs and enums to use with clap.
-
io-ensure
Prototype of the
std::io::ensure
family of macros -
butcher
An easy way to interact with structs and enums wrapped in Cows
-
staticinit
Safe mutable static and non const static initialization, and code execution at program startup/exit
-
rust_io
Macro implementation for [rust_io] defining several operators to be used emulating Haskel [do notation]
-
rvs-c-api
C-API for Rvs - A library for defining and evaluating random variables using a simple DSL
-
map_tuple
Map individual elements of a tuple
-
fused_error
working with composable errors
-
iterator-endiate
Extension method for (exact size) iterators which yields tuple containing whether item is last in iterator
-
tearor
Easily turn data races into data corruption!
-
iter_mod
A macro for enumerating all the constants in a module
-
assert-impl
Macro for static assert types implement a trait or not
-
oneshot-fused-workaround
Fused wrapper for futures::channel::oneshot
-
scout-audit-clippy-utils-soroban
For internal usage by cargo-scout-audit
-
read-restrict
Restrict the number of bytes read from a reader
-
try-traits
Alternatives to std lib traits that can fail
-
opentalk-types-signaling-breakout
Signaling types for the OpenTalk breakout module
-
static_assert_macro
so-called
static_assert
-
selective_assertions
Macros for asserting equality of structs with the flexibility to exclude or focus on specific fields
-
contains
A Container trait
-
x-bow
Precise State Management Library
-
johalun/module
FreeBSD kernel module in Rust
-
deref_owned
Generalization of std::borrow::Cow
-
rustyinject
Zero-cost, compile-time DI framework for Rust
-
alrulab-core
Alrulab Core Library
-
wurm
Non-fatal, strongly typed errors
-
rudeboy
Rlua User Data Extension Boy - Derive/attr macros and traits for easily exporting user data to RLua
-
fn_block
defining macros for calling blocks or expressions in a closure
-
axmac
Readable indexing macros for 1-4 dimensional data structures
-
nstd_str
NSTD strings crate
-
engineer
master builder!
-
composing
Tools to compose functions
-
diva
Opinionated convenience wrappers for
std::process::Command
and friends -
easy_retry
easy to use retry library for Rust
-
code-docs-rs
reading field names, types and comments
-
forward_ref_generic
Generically forward references for operations on Copy types
-
enum_properties
A macro for declaring static properties on enum variants
-
take-if
A tiny utility for conditionally taking the contents of an option
-
purescript_waterslide
Generate Purescript types from your Rust types
-
select_indices
Iterators for taking multiple shared/exclusive references from a slice
-
spawn_interval
Call a subroutine at a constant time interval
-
even_bigger_s
Better String Literal
-
rustring_builder
string builder
-
tartan-c-enum
Define FFI-safe enums that support unknown values
-
esvc-traits
Traits for ESVC
-
runtime_injector
Runtime dependency injection container
-
tt-call
Token tree calling convention
-
scanio
console input macros with the goal of being implemented in the standard library
-
quartet
Nibble (quartet, u4) slices
-
c99
C99 types for easier interop
-
clonesure
A helper macro to create closures which will clone its environment
-
cpp_core
interoperability with C++
-
n-functor
Faux-derive a
map
function for types with one or more type parameters -
macro-attr
macro_attr!
macro that enables the use of custom, macro-based attributes and derivations. Supercedes thecustom_derive
crate. -
uninitialized
Opt-in unsafe uninitialized memory
-
newtype-enum
Traits to convert between enums and their variant types
-
byteorder_core_io
reading/writing numbers in big-endian and little-endian
-
split-optional
It split from a source
str
toOption<&'a str>
per an element -
set_slice
A macro for assigning values to slices
-
defvar
A macro that makes defining environment variables easy
-
polimorphism
Function overloading via a procedural macro
-
firedbg-lib
FireDBG Support Library
-
str_assert
Thin wrapper around stdlib assert_eq macros using dissimilar as the comparison. (Only for strings)
-
eternal_iterator
Trait implementation to promise that the iterator iterates forever
-
temp-inst
safe lifetime-erased representations for objects with lifetime parameters. Can be used to pass an object across an API where lifetime parameters would prevent it.
-
tapir
Adding tapping functionality to rust
-
mem_dbg
Traits and associated procedural macros to display recursively the layout and memory usage of a value
-
const_num_bigint
const bigint
-
maybe-unwind
A wrapper of catch_unwind that also captures the panic information
-
rustollens
A small and experimental library with a type-level representation of booleans with companion connectives for compile-time sort-of fun with logic
-
macroland
macro shorthands of various types in Rust
-
bpack
Fast, simple and easy to use data compression library meant to work with byte slices of String and str types
-
scanfmt
easy to use macro for parsing a string
-
powerfmt
powerfmt
is a library that provides utilities for formatting values. This crate makes it significantly easier to support filling to a minimum width with alignment, avoid heap… -
lazy-attribute
convenient attribute macro for lazy function execution
-
thinnable
Thin references to unsized types
-
future-union
Use future::Either with
impl Future
-
define_into_enum
Defines Into<T> on an enum where all variants wrap T
-
collected
Summation, product, maximum and more special collectors for Rust iterators
-
consume_on_drop
A zero-cost abstraction that allows Drop::drop to consume self by value
-
metatype
Helper methods to determine whether a type is
TraitObject
,Slice
orConcrete
, and work with them respectively -
flow_impl
Definition of an Implementation trait for flow functions, and a derive macro
-
init_with
Helper trait to initilize an array with a function
-
yield-return
Implement a coroutine like C#‘s
yield return
using Rust’sasync
,await
-
lambek
Type-Level Programming in Rust
-
error
A fancy error type for highly generic cases
-
utils-results
The easiest and most intuitive error handling solution
-
stable-pattern
Stable port of std::str::Pattern and friends
-
rustpy
Bindings of Rust programming language primitives
-
iter-python
Python generator expressions and 'list' comprehensions
-
log-instrument
Offers an attribute procedural macro that adds
log::trace!
events at the start and end of attributed functions -
fmt_adapter
newtype adaptors to and from any formatting trait
-
tosserror
derive(Toss)
-
pipeline
A macro collection to pipe |> your functions calls, like in F# or Elixir
-
anyhow-loc
anyhow with location
-
splitmut
Safely retrieves multiple mutable values from the same collection
-
description
like Display, but 'static
-
unchecked-index
Unchecked indexing wrapper using regular index syntax
-
compost
Adds a macro to decompose tuples into tuples containing a subset of their values
-
cmd_lib_core
Common rust commandline macros and utils, to write shell script like tasks easily
-
ffizz-header
FFI helpers to generate a C header for your library
-
hello_egui_utils
used by crates from https://github.com/lucasmerlin/hello_egui
-
adrop
fast dedicated thread drop
-
open-ambient
Open files and directories with constant paths
-
indexing
Sound unchecked indexing using “generativity”; a type system approach to indices, pointers and ranges that are trusted to be in bounds
-
endian-num
Byte-order-aware numeric types
-
encdec-base
encdec simple encoder/decoder base types and traits
-
parser-c
Macros for parser-c
-
beard
Handy macro to generate formatted text in rust
-
with-api
macro for shrinking scope
-
uuid25
25-digit case-insensitive UUID encoding
-
parametrizer
safe crate for parsing properly-formatted math strings representing parametric functions into Rust functions
-
partial-functional
A small collection of Semigroups and Monoids for rust
-
fn_name
Macros that produce the name of the function they're invoked within
-
eater_rangeset
work with set's of ranges
-
jrust
macro that parses Java-like syntax and runs it as a Rust program
-
fluent-impl
A procedural macro that generates chaining methods from non-chaining ones in an impl block
-
error-macro
error macro
-
eieio
Error Implementing
Eq + Clone
replacingstd::io::Error
-
orion-async
Eliminate this constraint for performance - the local variables of asynchronous functions must implement Send Trait
-
cell-project
Safe interface for cell projection
-
bitutils
Bitfield macro and utilities
-
rmin
A minimal Rust lib for writting R extensions
-
kalgan_string
A collection of functions for string manipulation used by Kalgan Framework
-
take_mut
Take a T from a &mut T temporarily
-
fstrings
Python3 fstring interpolation in Rust
-
value-enum
Macro for generating enums associated with values
-
fix_fn
Macro to create recursive closures (similar to the Y combinator)
-
unwrap_let
macro for quickly unwrapping a refutable pattern
-
enum-tags
A Derive-Macro library that generates a companion tag-enum for any enum so that variants can be referred to without specifying fields
-
bifurcate
A general, extensible and performant implementation of bisect
-
extprim_literals
Plugin for creating extra primitive types literals (u128!(n), i128!(n))
-
frunk_core
Frunk core provides developers with HList, Coproduct, LabelledGeneric and Generic
-
rstring-builder
String builder type
-
smart
dynamically-dispatched smart pointers
-
error_hook
error hook
-
fallible-option
Fallible is an Option with inverted Try-semantics
-
optargs
Easily create macros for functions with optional arguments
-
const_typed_builder
Compile-time type-checked builder derive using const generics
-
tlist
Type-level linked lists (of types) and type-level 'functions' to manipulate them. Because TList is implemented using GATs, usage is very ergonomic.
-
ghosts
Type-check non-existing
Phantom
code for Fun And Profit™ -
tinypointers
Pointer implementations that take 8 or 16 bits
-
multiple_errors
Propagate multiple errors instead of just the first one
-
data_type_checker
A lightweight Rust library for validating and converting data types from strings
-
refute
Add a refute! macro(Elixir inspired). Essentially assert!(false).
-
wrapped-list
Macro for wrapping elements of a list with an object, function, or another macro at compile time
-
html_tag
An Enigmatic Way to use HTML in Rust
-
fluent_builder
builder API
-
dynamic
A dyanmically typed value with fast downcasting
-
type-operators
A macro system for creating type operators in Rust and writing type-level logic
-
untrusted_value_derive_internals
aim to provide a type-safe way to handle and sanitize potentially untrusted values like user input
-
inline_newtype
newtype macro inspired by kotlin's inline class
-
pass_by_catastrophe
Please do not use this
-
my-desire
poc generic and injection-proof interpolation API for Rust
-
len_constraints
Traits and types to implement type-pinned length constraints in your API
-
extensor
the main extensor crate for building arbitrary valent tensors and more
-
delay_init
Macro to declare lazily initialized types
-
slice_trait
A generic trait for any slice, with item as a type parameter
-
head-tail-iter
An iterator that repeatedly splits head & tail
-
integer-iterator
Add the ability to iterate over the digit of all primitive integer types. Also exposes the trait so one can implement it oneself.
-
test-results
A series of utility macros for outputting testing results
-
dbg_mac
Handy debug only macros
-
turbostate
Finite State Machine
-
total_float_wrap
Floating point wrapper implementing Hash and Ord according to IEEE 754 totalOrd
-
effect_cell
Container that runs effects when updated
-
conditional-assignment
very simple, small crate to help make conditional assignments more ergonomic
-
truthy
Check if a value is "truthy"
-
extract-variant
Destructure expressions into, and return assignments from, a single pattern
-
convertable-errors
defines an ergonomic macro for deriving From<Foreign> conversions for variants of Rust enums
-
vec3
-
audi
Generic listener abstraction
-
arbintrary
Proof of concept for arbitrary integer sizes using generic const
-
mixed-num
A trait for generic implementations of numerical methods
-
empty-option
Convenient wrappers for taking/replacing values from mutable references to
Option
s and enforcing invariants -
enum_const
enum const trait
-
timely-container-master
Container abstractions for Timely
-
higher-kinded-types
"Generic generics" / higher-kinded APIs in stable Rust
-
mint
Math interoperability standard types
-
convi
Convenient (but safe) conversion (
From
-like) traits -
generic-session-types
Generic session types in Rust for async send recv channel
-
predicate
Use enum to predicate something, support & and | operator
-
deferrer
defer! macro for deferring functions
-
simple-di
dependency injection for Rust
-
unique_ptr
smart pointer implementation in Rust
-
visita
Elegant implementation of the Visitor Pattern
-
bos
Flexible Borrowed, Owned or Shared (B.O.S.) smart pointers. Like std's Cow but with Rc/Arc and without the ToOwned requirement
-
retryable
Automatic function retry macro
-
into-result
convenience trait for converting something into a
Result
orOption
-
friendly_safety_buddy
A fun macro to write safe code with
-
rs-utilities
Some utilities
-
expand_array
Macro to convert a static array to a fixed-size array
-
evaluator
interfaces and implementations for logic constructs that return values without accepting arguments, either via closure captures, global state, calculation or otherwise
-
struple
Convert structures from and to tuples
-
nes
New Error System for rust
-
type-vec
A type-safe vector with type-level length
-
tailwag_utils
A collection of assorted utility functions / traits. Part of the tailwag stack.
-
defunctionalize
Defunctionalization as a proc-macro over modules
-
phtm
Re-exports for common uses of
PhantomData
-
labelled-enum
Converting an enum to/from String
-
rust-secure-code/mem-markers
marker traits about types layout in memory
-
omniswap
swap values between possibly-overlapping references
-
typeable
Exposes Typeable, for getting TypeIds at runtime
-
menv
Pulling in arguments from environment variables
-
picostring
A stack allocated string that requires no extra space to store length
-
enum_primitive
Macro to generate num::FromPrimitive instances for enum that works in Rust 1.0
-
assert_into
For when writing .try_into().unwrap() feels too long
-
rustspec
BDD style test library
-
deborrow
Splits mutable references safely into their fields, and helps with reference manipulation
-
apply_conditionally
Chain and apply methods on objects conditionally
-
simplebyteunit
A thin encapsulate for integer primitives to facilitate a fast, simple, yet ergonomic byteunit implementation
-
pyo3_special_method_derive_lib
Automatically derive Python dunder methods for your Rust code
-
scalar_map
map
for scalar types -
fsize
fsize
is aliased to the floating-point type of pointer size -
generic_singleton
allowing for generic singleton patterns
-
field_iterator
A derivable trait for iterating over the fields of a struct
-
struct-builder
Derive a builder for your structs
-
rsb_derive
An opinionated macro implementation for Rust struct builder pattern with compile-time validation
-
ranged_type
providing ranged numeric types
-
zkp-macros-lib
procedural macros implemented using
proc_macro2
-
string_iter
An overly designed &str iterator made with zero-copy parsing in mind
-
edisp
Dispatch-on-collect for Rust enums
-
into_index
Helper traits allowing indexing into vectors and similar types by other types than
usize
-
meticulous
Result extension to add more meaning to unwrapping
-
kind-derive
Derive generator the kind compiler
-
diff-ba-rs
macros to get the difference of variables caused by a procedure
-
common-strings
Macro for storing common strings as enum variants
-
inheritance
Avoiding code repetition in Rust with OOP inheritance
-
partial_eq_dyn
Two traits to enable PartialEq for types with trait objects as fields. Best used with the derives in partial_eq_dyn_derive
-
ecoord-core
Core primitives and operations for transforming between 3D coordinate frames
-
pigeon-impl
Generate recursive-descent & precedence climbing parsers. (extra implementations)
-
zc_io
zero-copy I/O
-
static-cond
Macro for performing comparisons during macro expansion
-
ferment-interfaces
Traits for FFI conversions and some helper methods
-
col_proc_macros
A bunch of procedural macros for declare collections of various kinds from their contents as fast as possible
-
upget
Super simple trait that patterns the value "updae" and "get"
-
close
Trait + smart pointer for manual object destruction
-
zoozle
Some I/O macros like C++ cin/cout
-
handle-error
An error handling helper macro to avoid the constant if let Err(e) pattern
-
tuple-conv
Allows converting tuples of one element to vectors
-
mixed_array
Construct arrays of mixed types
-
pythonic-helper
that provides Python-like functions (and some surprises)
-
unwrap_helpers
Helper macros for unwrapping
-
sim_connect_rs
An easy to use, opinionated API for SimConnect
-
inter-struct
Automatically generated traits for arbitrary structs
-
and_then_some
extension trait for
bool
with methods that returnOption<T>
-
raml
Direct OCaml FFI bindings and runtime functions in Rust, without any C
-
anyflux
Generic flux-like state management
-
scalar_types
A module that wraps scalar types in an endian safe type
-
better-as
Explicit type casting
-
serde_extra
Various de/serialization methods
-
function_string_builder
A string builder that takes a user-provided function
-
unreachable
code optimization hint in stable rust
-
cause
A generic [std::error::Error] implementation
-
retry_macro
A set of declarative macros which retries executing a function upon failure
-
predicates-core
An API for boolean-valued predicate functions
-
cronus_parser
The DSL parser for cronus API spec
-
rbuwu
rust macros but in uwu
-
html5ever_macros
High-performance browser-grade HTML5 parser − compiler plugins
-
vec_remove_if
Extract elements from a vector based on supplied criteria
-
model_macro
traits collection
-
html_stack
A stack based dsl for writing html. This is not an html template!
-
borrowck_sacrifices
Necessary sacrifices to keep the Borrow Checker happy and developers sane
-
nearly_eq
Nearly(Approximately) equal traits and assertion
-
structmap
Procedural macro library for converting between Rust structs and associative containers
-
typle
Generic tuple bounds and transformations
-
io-arc
Proof of concept Arc with IO trait delegation
-
close-err
Add .close() to file-like types, for error handling
-
soapy-shared
Custom types used by soapy macros
-
zngur-parser
Parser of the zng file
-
closure_capture
Capture variables are moved into closure or async block
-
stackvec
stack-allocated Vectors (performance and/or no-std)
-
error-utils
Some rust macros to simplify common error handling patterns
-
tupleops
work with tuples
-
scsys-utils
scsys is a collection of primitives and utilities for use throughout the ecosystem
-
conform
Macro to transform struct string fields in place
-
unwind-unsafe
Zero-sized marker types which do not implement UnwindSafe or RefUnwindSafe
-
global_var
macro for declaring a global variable
-
burntnail-utils
Set of Utilities for Errors, and some cachers/timers/macros
-
colmac
Macros to work with
std::collections
-
tuple_tricks
A couple of traits on tuples that allow inductively building new traits
-
derive-for
Macro for defining structs using the same derive procedural macros
-
tokio-stream-extra
stream extensions
-
roxygen
Seamlessly document function parameters with rustdoc
-
sanitizeable
derive structs without certain fields
-
ttype
quick macro for printing or returning the type of a variable
-
cri-ref
Embedded-friendly equivalents of URIs
-
respan
Macros to erase scope information from tokens
-
underscore_args
Macro for underscore named argument syntax, aka Dyon
-
numeric_cast
safe cast between numbers
-
struct_update
export a macro to instantiate a struct with others which have common fields
-
transitive_from
Helper macros for creating hierarchies of transitive
From
implementations -
supercow
A generic way to accept general reference-like values without proliferating generics
-
no-std-thiserror
thiserror but no_std compatible
-
vec2
-
infix_macro
macro that generates the neccesary boilerplate to use "*operator*" infix functions
-
swahili-dsl
A Swahili-based DSL made for educational purposes
-
mic
Facilitates answering to competitive programming problems
-
array-lit
Macros for array and
Vec
literals with superpowers -
effective
An effects library, an alternative to keyword generics
-
spawn_timeout
Call a subroutine after a constant time interval
-
tool
A grab-bag of tools for functional programming
-
newtype_derive
macros for deriving common traits for newtype structures
-
attr_alias
Reduce attribute repetition with aliases
-
md_match
A macro to support md-match syntax
-
nstd_proc
NSTD process starting/killing crate
-
iter-flow
Functional programming utilities for Rust
-
derive_environment
modifying structs via environment variables
-
cereal
data serialisation library
-
shpat
sasha's solution to common patterns
-
ees
error-handling library
-
clonelet
macro to capture by clone in closures
-
signed_distance_fields
SDFs (signed distance fields) and some operators to play with these SDFs
-
ioctl-gen
macros for generating ioctl numbers
-
tagname
get the name of a variant in your enum as a string
-
aspect-weave
An Aspect Toolkit for Rust
-
regex-bnf
A deterministic parser for a BNF inspired syntax with regular expressions
-
result-inspect
Adds the missing Result::inspect() function
-
monomo
Explicit trait monomorphization
-
vertigo-html
Html2Vertigo conversion macro usable re-exports
-
phantom-enum
macro library for creating phantom enums
-
toast-cell
Zero-cost type-branded cell with no runtime checks
-
rle
run-length encoded data
-
ssi-verification-methods-core
Core traits and types for verification methods in ssi
-
ignore-result
Adds a
Result<_, _>.ignore()
method to ignore the return value of a function call without panicking in case of error -
tinytest
Write more compact unit tests with a small macro
-
io-extra
An extension trait for
std::io::Error
, with shorthand constructors for variousstd::io::ErrorKind
s -
scope-exit
The util to call procedure when exit current scope. scope exit. like defer in go.
-
as_base
Cast trait objects to some base class
-
derive
providing a minimal example of a derivable trait (via companion crate derive-derive) for testing and illustration
-
assert-cmp
Convenient assertion macros that print the failed expressions and their evaluated values
-
typology
Type derivation for foreign use
-
option-cell
OptionCell: OnceCell but derivable from Option
-
serde_str_helpers
Helpers for using serde with strings
-
nommy
Type based parser
-
rent_to_own
A wrapper type for optionally giving up ownership of the underlying value
-
chessie_types
Internal crate for use in the
chessie
crate. Do not use independently -
guilt-by-association
Macro for declaring/implementing traits with fake associated consts (in stable Rust)
-
env-var
Macros providing easier access to environment variables in rust
-
bagel
Compile-time evaluation and other tools
-
number-types
A typenum clone I made for fun with some positive changes but much fewer features
-
failchain
Ergonomic companion library for failure
-
then
bool::then functions but named properly
-
polymorph
A set of utilities to better enable polymorphic behavior in Rust
-
bind_match
Convenience macro similar to
matches!
but binds to variables in the pattern and returns anOption
of the result -
enum-derived
Generate random instances of your enums and structs
-
cursor
A more free Rust-Iterator
-
garando_syntax2
Backport of libsyntax
-
async_pipeline_for_lucas
Easy way to pipeline sync and async functions
-
see-through
traits to provide access to internal fields of generic structs
-
dyn-eq
Test equality between trait objects
-
iterx
that provides several functions on the Iterator trait not found in std::iter or Itertools
-
generic_error
A package containing a generic error type that can be dropped in to simplify error handling
-
tci
Teaching C Interpreter
-
derive-name
Derive macro to get the name of a struct, enum or enum variant
-
sc2-macro
Procedural macros for rust-sc2 API
-
nagios-range
types to parse and operate on Nagios ranges
-
keypath
Derivable, type-safe Swift-style keypaths
-
own-ref
&own references with ergonomic macro construction
-
astr
A const lenght stack str
-
foreignc_util
error handling in foreignc
-
try_convert
Auto-generate TryFrom and an error type, with minimal boilerplate
-
count_enum
Enum trait for finite types, e.g., conversion with usize, iteration on values
-
derive_is_enum_variant
Automatically derives
is_dog
andis_cat
methods forenum Pet { Dog, Cat }
-
anymap
A safe and convenient store for one value of each type
-
random_stuff
A pile of random helpers, macros, extension traits… that I didn’t care to write a separate crate for. Probably nothing to do with
rand
crate. -
vm_lang
interpreted language written in Rust
-
simple-xml-builder
XML builder/writer
-
tylar
Type-Level Arithmetic in Rust
-
default-test
A default trait that can be used in tests
-
aict
Generates auto-incrementing unique IDs
-
proc_assertions
Compile-time assertions via procedural macros
-
rust-hl7
HL7 Parser and object builder? query'er? - experimental only at any rate
-
shellexpand-fork
Shell-like expansions in strings
-
unsaferef
An unsafe reference without explicit lifetime
-
option-filter
Option::filter polyfill for Rust 1.26 and older
-
manifest-dir-macros
function-like macros to check or operate paths relative to CARGO_MANIFEST_DIR at compile time
-
peano
numbers implemented in Rust's type system. Consider using typenum instead for much faster type-level numbers.
-
take-static
Static items that provide mutable access only once
-
collect_array
Allows for collecting an Iterator into an exactly sized array
-
errormake
A macro for automatically creating Error structs
-
frunk_utils
working with frunk
-
dyn_struct2
Construct dynamically sized types safely. Supports arbitrary unsized types, not just slices
-
piping
Pipeline syntax in Rust.
4isize |> double(__) |> __ as usize
. -
lua53-ext
Extension to jcmoyer's Lua 5.3 bindings
-
using
A macro for simpler builders with method cascading
-
try-unwrap
A revolutionary new crate that allows you to unwrap() without making your stupid software panic
-
plugger-ruby
Ruby bindings to Plugger
-
pure_pursuit
generic Pure Pursuit in no_std Rust
-
any_ref
To capture and move things that are NOT 'static with memory safety
-
nclosure
composable, nameable closure types with separated states and functionality for use in APIs where anonymous types are unavailable
-
tracing-assert-macros
A macro for capturing trace logs
-
if-none
Early break/continue/return if an optional expression evaluates to
None
-
debug-map-sorted
Sorted Debug impl for HashMap
-
pluginop-rawptr
Safe abstractions atop raw pointers
-
bin-utils
A bunch of utility macros and traits for binary parsers
-
stdont
Kitchen sink of utils that I'd like to see in std
-
cfg-if-edc
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.
-
slyce
Python-like slices
-
unique
ptr::Unique for stable Rust
-
anysafe
any safe
-
cpp_utils
interoperability with C++
-
aggregate
attributes of structs for runtime
-
reglex
lexer generator using regex
-
mononym
Type-level named values with partial dependent type support in Rust
-
ez-err
error handling library with support for ergonomic and fast error handling
-
supply-chain-trust-example-crate-000042
derive(Error)
-
vec_split
Splits arrays of vectors into arrays of items
-
typebitset
Type-level bitset implementation
-
emplacable
Return unsized values from functions
-
unibox
Universal Box that can store any type using static or dynamic memory
-
letr
The macro for the lazy
-
ssi-core
Core types and traits for the ssi library
-
builder_macro
A macro to generate structs and a corresponding builder
-
maparr
macro to build a static
Map
based on const array -
tuple-fn
call functions and closures with tuple of arguments
-
build-deftly
Derive custom builders, using the derive-deftly macro system
-
erroneous
Minimalistic helper for using errors
-
refid
Newtype enabling identity comparison (e.g. through pointer equality)
-
what-i-want
Some tools to help with the return value
-
phantasm
Small lib that helps with variance
-
peekable_next
An extension for Rust iterators to peek at the next element without advancing
-
drop_ok
.drop_ok
syntax sugar forResult
. It’s instead of.map(|_|())
. -
stated-scope-guard
A more flexible RAII pattern for stated resouce management
-
trait-set
Support for trait alias feature on stable Rust
-
plugin
Lazily evaluated, order-independent plugins for extensible types
-
localization
t! macro, the easiest way
-
power-assert
Power Assert in Rust. Provides better assertion message.
-
tugger-debian
Debian packaging primitives
-
lifelink
Erase covariant lifetime parameters from anything, with generic associated types
-
integer_or_float
A data type holding an ‘integer or float’ (a data type in the Unified Font Object specification, among others)
-
derive_di
realized the dependency injection pattern
-
derive_struct_fields
way to work with struct fields programmatically
-
inew
Macroses for constructor generation
-
enum-to-types
Macro for generating pseudo-enums for type-level programming
-
lifterr
A small set of adapters extending Rust's error-handling capabilities
-
bidirectional_enum
Automatically generates conversions between an enum type and any other type
-
matrix_match
Macro to match on two values at the same time
-
slicefields
Allows for data structures whose members are sub byte aligned (e.g. a one bit alignment)
-
chained
lazily chaining functions
-
no-panics-whatsoever
Statically assert that a program written in Rust does not panic
-
assert_ok
A macro that asserts a Result is Ok
-
assert-parse
The util to assert macro parsing
-
yadi
dependency injection framework for writing applications with the Rust programming language
-
service-builder-macro
A lightweight, type-safe service construction library for Rust that provides compile-time dependency injection through builder pattern
-
try_as
Macros and traits to ease using enums whose sole purpose is to enumerate a set of types
-
pipe-chain
Combinators & parser library
-
aliri_braid_examples
Examples demonstrating usage of the
aliri_braid
crate -
negative-impl
Negative trait implementations on stable Rust
-
davenport
Ergonomic thread-local workspaces for intermediate data
-
rxs
Reactive extensions library for Rust with Object-safe traits
-
nyavascript
Lisp implementation. Called NyavaScript because I'm a monster
-
lifetime
Traits and derive macros to change the lifetime of a type, allowing efficient reuse of your stucts or enums with any lifetime requirement
-
transformer
Easily transform your structs
-
precisej-printable-errno
Printable system call errors for nix
-
rustutil
A collection of utility functions for Rust
-
thistermination
add the Termination trait to error enums inspired by thiserror
-
whiteout
macros that erase the type of any value into an impl Trait for a given trait
-
into_variant
Easily convert your types into the corresponding enum variant
-
rubbl_core
Core types and traits for Rubbl, a Rust package for astrophysics
-
io_resp
A RESP parser implementation, written with edge performance in mind
-
rvs-parser
Parser for Rvs - A library for defining and evaluating random variables using a simple DSL
-
stats_traits
Traits for collection-like types to calculate statistics
-
static-cow
Cow
at the type level: a framework of traits for writing types that are generic over ownership of their contents -
srce
Self-Ref Cell Environments
-
uninit-tools
that allows working with uninitialized memory entirely in safe code
-
febits
containing small utilities to help with certain tasks to make things easier. Primarily the tools will consist of ways to manipulate primitives and other data types.
-
mopa-maintained
My Own Personal Any: get your own Any with additional functionality
-
foreign-types-shared
An internal crate used by foreign-types
-
envoy
Conveniences for manipulating environment variables
-
self-reference
Helper
-
maplit2
Collection helper libraries and “literal” macros for HashMap, HashSet, BTreeMap, and BTreeSet
-
type-layout-syn2
Derivable trait to view the layout of a struct, useful for debugging. Patched for syn 2.
-
async_t
zero-cost async-traits
-
into-a-byte
Build a byte from tuple of Into<u8>
-
kvfmt
A helper macro for stringifying variables into a key=value style string
-
event-observer
observer pattern by rust
-
kathy
Const-evaluated swift-style keypaths
-
show-option
displaying Options
-
clap-action-command
A command-map pattern layered on Clap subcommands
-
derive-ex
Improved version of the macro to implement the traits defined in the standard library
-
xbitwise
that extends the basic functionality of bitwise operations
-
rusty_state
state machine for rust
-
rcrefcell
Wrapper type for Rc<RefCell<A>>
-
koption_macros
Some macros that are useful for working with
Option
s -
arrutil
Functions for manipulating arrays from slices
-
cosmian_std
Cosmian std lib to write Rust MPC programs with easier abstractions and helpers
-
ndless-static-vars
storing static, program-wide parameters for Ndless
-
meritrank2
Meritrank library with additional experimental functions
-
cartesian
QOL macro that creates the cartesian product of multiple iterators
-
spidermeme
Traits to test for type equality and type inequality
-
import_file_macro
Macro from compile-time file loading
-
opentalk-types-signaling-moderation
Signaling types for the OpenTalk moderation module
-
fstrings-rust
Python3 fstring interpolation in Rust
-
variadic_monoids
Construct variadic functions using monoids
-
num-conv
num_conv
is a crate to convert between integer types without usingas
casts. This provides better certainty when refactoring, makes the exact behavior of code more explicit, and allows using turbofish syntax. -
dynerr
Macros for dynamic error handling
-
asserter
New assertion library for rust
-
into_inner_drop
A helper library for implementing into_inner method for drop types safely
-
fixed_len_str_example
helper crate for document the expansion of a procedural macro one,don't use
-
with-thread-local
A micro crate that simplifies a bit the use of the std macro
thread_local!
-
mutable-constant
Mutable access to a constant value
-
type-layout
Derivable trait to view the layout of a struct, useful for debugging
-
debug-tag
Debug-only tagging for tracking values
-
encoding_index_tests
Helper macros used to test index tables for character encodings
-
pin-projections
Declarative macro for creating projection functions for pinned objects
-
wgsl-types
WGSL Types
-
ref-map
Helper trait for Option and Result to map references
-
atomik
Generic Atomic type
-
serde_type_name
lookup name of type for any struct or enum that derives serde Serialize
-
eso
Type machinery to build Cow-like containers
-
merge2
Merge structs into single by values
-
chain_linq
.NET's LINQ in rust as a declarative macro
-
studs
collection of extenstions to the Rust standard library
-
pure_cell
Alternative to GhostCell that provides safe interior mutability via const expressions
-
struct_scheme
structure scheme display
-
validated-slice
Helper macros to implement std traits for custom validated slice types
-
lit-vek
iter! and vek! macros for nicer literal syntax
-
delta-struct
Delta struct provides a rust-lang Deriveable trait, Delta, that can be used to compute the difference (aka delta) between two instances of a type
-
alias-ptr
(Mostly) safe manually-freed shared pointers in Rust
-
collections_macros
a collection of macros to make making collections easier
-
debug_unwrap
Adds the method debug_unwrap for when you just want to make it compile
-
prim_int_kind
Enumeration whose variants represent kinds of primitive integers
-
generic-mutability
Allows the creation of APIs that are generic over mutability
-
arcmut
Introduce ArcMut, utility for FFI
-
type_hash
Generate a hash for a Rust type. The primary use-case for this crate is for detecting differences in message types between versions of a crate. The
TypeHash
trait is implemented… -
tiny-fn
Type erased closures on stack
-
passable_guard
A Guard to help you catch leakage of pointers that you pass over a FFI boundary
-
correct
A number wrapper that has correct bitwise shift behaviors rather than the primitives in rust language
-
canpack
Canpack Rust utilities
-
derive_destructure2_examples
Examples for crate derive_destructure2
-
extern-c
Convert a zero-sized closure into an
extern "C" fn(…)
pointer -
constany_blank
Convert any function to constant
-
unflatter
unflatter
is a Rust library providing extension traits for flattening and unwrapping nested structures, including nestedOption
andResult
types. It simplifies working with deeply… -
enum-extract-error
A companion crate for
enum-extract
that exports an error type -
scones_examples
Examples (and tests) for the Scones crate
-
cartesian_array_product
Arrays of the cartesian product of a set of items
-
ctti
Compile-time type information
-
opentalk-types-signaling-timer
Signaling types the OpenTalk timer module
-
label
functions and iterate over them
-
test-macro
macro for writing Rust test code in an easy way
-
array_manipulation
Methods for manipuling arrays in a Vec-like fashion. It will (probably) get into core once const expressions get less experimental.
-
glasses
Macros for writing lots of tests (or specs!)
-
heredom
Tuple notations to describe XML-like trees
-
struct_baker
enable ergonomic creation of compile time parsers
-
anon_enum
Enum types with fully-generic variants
-
bin-pool
A small crate for interning binary slices
-
transition-table
transition table utilities for keyword parser
-
ogma-libs
Ogma DSL builder libs
-
checked_array
A checked API for array types
-
cart_prod
Cartesian product of iterators
-
scones
Generates simple constructors for structs
-
enum_extract
Helper macros for extracting single enum variants of an enum
-
exun
Handle unexpected errors
-
tested-trait
Associate tests with traits
-
breadx-image
Image type to be used in breadx
-
bointer
Assorted pointer-related utilities
-
pointer-identity
Wrapper type to treat the pointer address of types as identity rather than the value
-
once-cell-regex
just gives you the
regex
macro from theonce_cell
docs! -
polymorphic-constant
A macro to define a numerical constant in multiple types at once
-
curry-macro
Have fun currying using Rust's native closure syntax
-
byte-array-struct
Macro to create a byte-array backed struct
-
bit_fiddler
Macros for common bit operations with multiple convenient patterns
-
nom-fields
single function-like macro that removes some boilerplate from a common pattern when using nom
-
field-visibility
Attribute to specify the visibility of all fields in a Rust struct
-
archway
Rust traits for Rc and Arc interoperation
-
const-it
const evaluation; slicing, error handling
-
tagged_cell
Fast, initializable, and thread safe static variables
-
shrinkwraprs
Auto-derive for Rust conversion traits -- make working with newtypes a breeze
-
iterr
Combinators for dealing with iterators of
Result
s -
datastore
A generic store wrapper
-
free_function_pipes
a bunch of traits that makes composing functions together easier
-
raw_pointer
Safely handling raw mutable pointers to a generic type
-
generic-lexer
A generic lexer using a simple match function
-
zisvalidator
A validator for struct and enum
-
sapling-dag-types
A subset of types used by sapling-dag
-
user_stable_vtable
A partial implementation of [RFC 2955], written in stable rust
-
bounded_types
type representing bounded integers, implemented using const generics
-
ufo
unsigned floats
-
nutype_macros
The newtype with guarantees
-
newtype
Custom Derive to give tuple structs newtype semantics
-
mistake
An error handling crate for functions that produce multiple errors
-
borked
convienient error handling library for rust
-
scsys-core
scsys is a collection of primitives and utilities for use throughout the ecosystem
-
zkp-criterion-utils
Criterion helpers to benchmark over size and number of processors
-
template-builder
making idiomatic, declarative, builder-like patterns that use the struct literal syntax
-
composer-primitives
primitives types for composer
-
keepops
Extension traits for keeping the input of mapping functions
-
zachs18-stdx
My commonly used extensions to std APIs
-
supply-chain-trust-example-crate-000043
derive(Error)
-
rs_envflag_macros
An easy way to define flags by environment variables
-
delegatemethod
Delegate method calls to a field
-
random-number-macro-impl
Generate random numbers quickly
-
a1_notation
A package for converting to and from A1 spreadsheet notation
-
drop_some
.drop_some
syntax sugar forOption
. It’s instead of.map(|_|())
. -
into_string
Helper crate to convert values into strings avoiding extra allocations
-
stack-trait
Stack trait with entry API for the LIFO element
-
alternator
Tools for building effect system -like functionality by abusing async
-
cherrybomb-oas
Cherrybomb OpenAPI Specification (OAS) struct and functions
-
generics2
macros for parsing generics (with optional where clause) in
macro_rules!
- enhanced fork of generics -
match_all
match_all! macro for matching multiple patterns
-
ownref
Provide the smart pointer type that bundles the data with its owner
-
thiserror_lite
Almost drop-in replacement for thiserror, implemented using 100% declarative macros
-
arrays
Construct an array from an iterator
-
send-sync-static
fulfills the simple purpose of marking a type as Send, Sync, and 'static
-
thin_str
A string type that’s smaller than
Box<str>
or String -
valido
An extensible Rust validation library that actually encourages the "Parse, don't validate" philosophy
-
ts_static
Wrapper macro for lazy static and a struct to aid in accessing a static in a thread safe way
-
if-let-return
macro for
if let ... pattern
-
mut_family
A GAT-based library for writing code that is generic over exterior/interior mutability and mutability of references
-
stringy
A tiny Rust crate for generating byte-sized enums that represent a fixed, ordered set of &str data
-
ptr_iter
Iterators to simplify working with pointers
-
array-fu
Construct arrays using simple syntax
-
once-option
OnceOption
type, similar toOption
, with the constraint that once emptied it cannot be re-set to contain a value. Useful for members that need to be consumed on drop or cannot be re-set otherwise (e… -
cobalt-async
collection of helpful functions for working with async Rust
-
valibuk
set of macros implementing the correct-by-construction pattern
-
pokeapi_types
a collection of structs used to aid in the creation of data from the PokeAPI service
-
cow_arc
CowArc can be useful for decreasing memory allocations by sharing immutable memory
-
init-token
one-time safe initialization of static, without overhead
-
multi-structs
Macro for generating a merged struct from multiple sub-structs
-
sort-by-borrowed-key
Adds two convenience methods for sorting by a borrowed key
-
refcon
A reference-behaving type indifferently wrapping reference or immediate values
-
soft_assert
Non-panicking assertions
-
spargeo
GeoSPARQL functions
-
iteritor
Helpers for more advanced use of iterator combinators and other more functional control flows, including things that may not really fit in the std iterator library or itertools, but…
-
asserts-rs
Asserts utilliy macros for Rust
-
mist-pdk
mist plugin development kit
-
to_unit
ToUnit; Any type to () syntax sugar
-
moveslice
A one-function crate to move chunks in a slice around
-
generic_once_cell
A bring-your-own-mutex version of once_cell
-
zkp-logging-allocator
Wrapper around the system allocator that logs large allocations
-
map_for
macro that implements for comprehensions similar to Scala's
-
funfun
Macros for working with closures
-
slice-ext
Useful extensions to slices and iterable types
-
fast-map
Map-like structs
-
array_init_macro
initialization macro for arrays
-
dispatchtable
Small library used to specify function dispatch tables HashMap<K, Box<Fn(..)>>
-
batbox-tuple-macros
Macro for calling your macro for all tuple sizes
-
anyinput-core
An internal helper library of anyinput
-
stack-vec
Ad-hoc compile-time sized
Vec<T>
like types on the stack -
pigeon-core
Generate recursive-descent & precedence climbing parsers. (traits)
-
rusty-value
Create a generic inspectable value from any rust type
-
lgio
Lightweight, generic, no_std IO
-
raise
yeet!
all the things -
my_rust_utils
My personal set of helpers
-
struct-variant
Minimal helper macro to generate an enum out of a list of structs
-
iter-enum
#[derive(Iterator, DoubleEndedIterator, ExactSizeIterator, Extend)] for enums
-
abi_stable_derive_lib
detail of abi_stable
-
maybe-owned-trait
Either an owned or borrowed value, with type known at compile time
-
opera
Marker types that are easy to understand
-
hcstatic-str
compact storage for short static strings
-
trace-error
Extensions to Rust's error system to automatically include backtraces
-
dot-generator
the set of macros to generate dot files
-
hash-that-set
Implements hashing for sets and maps themselves. Enables a map of maps to values, or a map of sets to values.
-
boulder
Like a builder, but heavier
-
rev_slice
A newtype for operating on a reversed view of a slice
-
graphfind-rs
finding patterns in graphs
-
isnt
Inverted versions of boolean-valued stdlib functions
-
kizuna
service locator
-
cobhan
FFI is a system for enabling shared code to be written in Rust and consumed from all major languages/platforms in a safe and effective way, using easy helper functions to manage any unsafe data marshaling
-
field-projection
Field projection experiment
-
float-lerp
Lerp and InverseLerp functions for floats
-
ref-portals
Safely use (stack) references outside their original scope
-
futility
Functional Utility types, macros, and functions for common tasks or needs in Rust
-
fatal-error
Differentiate errors and fatal errors
-
size-trait
Traits for restricting the size of type parameters
-
dry-mods
Macros to make your module management DRY
-
refmove
An experimental implementation of library-level by-move references
-
iter2
Iterator
chain
ing,cmp
ing and more as free functions taking twoIntoIterator
s -
set_field
Set fields on structs by string
-
bstringify
stringify! that yields byte string literals instead
-
tyenum
Attribute macro for type enums
-
pyo3_special_method_derive_0_21
Automatically derive Python dunder methods for your Rust code
-
multiref
Multireferences: a safe way to do [&T] -> &[T]
-
nuhound
Improve error handling capability
-
new_york
Home of the dollar slice
-
zkp-error-utils
Assertion like macros for returning
Result::Err
-
unstringify
Procedural macro implemention of the reverse operation of
stringify!
-
rescue-blanket
Escape values while they are being formatted
-
kalman-fusion
single-variable Kalman filtering for Float and Fixed types
-
static_leak
Leak references with static lifetimes from static Mutexes and RwLocks
-
error-ex
designed for those who desire clear, explicit, and easy-to-use error creation and handling
-
into_ext
Extension trait for the “Into” trait, offering a method “.into_::<T>()” to specify the target type of conversion
-
input-stream
IO streams similar to C++'s streams
-
fake-enum
creating FFI safe "fake" enum types
-
injectify
impl Trait in structs
-
saturate
Rust traits for saturating conversion between numeric types
-
turbonone
macro for calling functions with Option<T> arguments
-
clone-into-box
cloning trait objects
-
hex-display
Display impl for byte slices which provides a hexdump
-
slicemath
element-wise operations on arrays of numeric values
-
resize_slice2
Resize a slice given a larger slice in safe Rust
-
bounded
numeric types
-
dyn_safe
Take control of the Semver hazard of the
dyn
safety of your traits! -
process-results
that provides the same functionality provided by Itertools::process_results. It helps you process an iterator of results, with a more ergonomic and composable interface.
-
break-block-macro
A little syntactic sugar to tide us over until the
?
operator can be used to exit try-catch scopes -
constduck
Compile-time ducktyping and reflection using const generics
-
bg
builder + generics
-
extrust
intended as an extension of the standard library
-
cio-api
Helper functions and types for doing the activities of a CIO
-
wrapgen
automatically generate safe wrappers around FFI functions
-
error_log
struct-based Error-Handling
-
vet
Arbitrary type validation
-
prec
A generic operator-precedence parser library
-
zconvertenumn
Convert number to enum
-
tensor-macros
A compile time optimised tensor library
-
variadic_closure
Support for dynamically created and called closures with variable number of arguments
-
sub-array
Extract a sub-array out of an array
-
ortho_vec_derive
Derive orthogonal vector structure for better CPU cache usage
-
tiny_fail
Fail type
-
iter_columns
Iterate over columns easily
-
wyz
myrrlyn’s utility collection
-
rewrap
Result<Result<T, E>, F>
->Result<T, F>
-
constant
evaluation tools for Rust
-
larc
Lazy Arc/Weak pointers
-
integer-atomics
allows you to compile code that needs the unstable integer atomics types (Atomic{U,I}{8,16,32,64}) with the stable compiler
-
tuple-arity
Get the arity (number of elements) of tuple types with 0-12 elements
-
binexp
A struct that represents power of two numbers
-
unborrow
Macro for calling a &mut self method with transient &-borrows of self in the parameters
-
rustructure
Run-time introspection on compile-time flagged structures
-
candy
Syntaxic sugar for Rust: macros for lighter error handling code, and more
-
validated_newtype
newtypes with checked predicates (primarily for serde)
-
id-ish
Numeric ID types that can be swapped in & out
-
object-safe
Implement object-unsafe traits for trait objects
-
numeric-enum-macro
A declarative macro for type-safe enum-to-numbers conversion
-
functional-closures
composable pure functions with the signature f(T) -> T
-
to_vec
convenient to_vec, to_set and to_map methods on iterators
-
introspectable
Basic introspection via the Introspectable trait
-
cargo-verify
Prettier error messages for the verified crate
-
kozo
syntax sugars for structs
-
bigfactorial
Precalculated compile-time factorial macro for numbers upto 99
-
rewind
Strong exception guarentee support types
-
pino_utils
general rust utility functions and macros
-
struct2map
Procedural macro library for converting between Rust structs and associative containers
-
slice-pool2
using a slice as a memory pool
-
gamo
A Range like struct for user defined types
-
boow
Borrow Or oWned
smart pointer. Alternative to Cow. -
cslice
slices with a stable ABI for interfacing with C
-
maybe_static
Initialize a lazy static with params, create Meyer's singleton
-
adhocerr
construction of efficient single use static/dynamic error types per callsite
-
arraytools
A variety of helpful methods for working with fixed-size arrays
-
kaydle-primitives
Low level primitive parsers for KDL, intended as a building block for higher level parsers or deserializers
-
lang_extension
Rust Lang Extension
-
libpy
imports functions from the python standard library
-
stringly_conversions
helping to convert to/from various representations of strings
-
string-cases
String case conversion utilities
-
generic-global-variables
tools for implement generic global variables
-
disjoint-borrow
Disjoint mutable borrows of slices
-
fn_chain
Helper macro/function to create function chaining
-
libsugar
syntactic sugar in the form of a library
-
ffi_reflect_csharp
C# code generator for the
ffi_reflect
package -
gemstone
collection of utilities
-
finte
convert between integer and Rust enum
-
auto-builder
A derive macro to implement the builder pattern for any struct
-
none-array
a very cursed way to create an array of None values
-
async_fn
Collection of helper annotations and macros for concise and yet explicit
async fn
signatures -
set-error
A very simple trait that overwrites errors
-
unchecked_unwrap
Adds an unchecked version of
unwrap()
andexpect()
to Option and Result -
wraited-struct
Read and write
struct
with byte array -
mdmath_core
Multidimensional math, fundamental functionality and types
-
look_inside
Look inside structs, enums, and unions!
-
assert-type-eq
Macro to assert types across potentially different crate versions are compatible
-
rwtypes
Adds methods to read/write binary numbers to the Read and Write traits
-
slice_adapter
help share slice between thread
-
sum_type
A convenience macro for creating a wrapper enum which may be one of several distinct types
-
vg_errortools
Helpers for better error legibility in std/tokio io errors and error handling in main functions
-
arraylib
Tools for working with arrays
-
non0
Compile-time checked non-zero integers with type inference and first-class
const
support -
maller
that calls closures depending on the input data
-
join-lazy-fmt
Lazy
separator.join(iterable)
method andlazy_format!
for Rust -
anyint
traits and structs for working with integers of any bit size
-
mark_last
extension to rust iterator's to mark the last element of an iterator
-
urbit-ob
formatting and parsing Urbit's @p and @q data types (patp/patq)
-
const_type
define enum-like const-types, but with aliases for variants
-
partial-result
results that return success for non-critical errors
-
tyname
Retrieve type names during program execution on stable Rust
-
strided
slices. This library provides two types
Strided
andMutStrided
as generalised forms of&[T]
and&mut [T]
respectively, where the elements are regularly spaced in memory, but not necessarily… -
byte-slice
Byte slice manipulation macros
-
static-include-bytes
Like the built-in
include_bytes!
macro but produces a static array definition -
dygpi
support for 'Dynamic Generic PlugIns', library based plugins for Rust
-
unty
Explicitly types your generics
-
smallint
optimized arbitrary precision integers
-
hallib-rs
General types and functions that I use a lot
-
algtype
Conversion between data and its representation, like Haskell Generic
-
one-of
Macro to represent a type that can be converted either
From
orTryInto
the given types -
take-cell-option
taking the value from a cell of a option without cloning
-
brev
helpers for quick and dirty scripting
-
result-extensions
that provides extensions for the Result<T,E> type
-
match_to_str
match pattern to str
-
write-only
References/slices that provide write-access, but no read-access
-
chstr
A macro to convert a character array into a string at compile time
-
constptr
NonNull without mutability
-
counted-array
Macro for declaring fixed-size arrays without counting elements by hand. Supports lazy_static.
-
apply_method
Allows you to apply any function given as a parameter to the object
-
bswap
byte-swapping integers, pointers, and slices
-
stacking-iterator
Iterator utilities for manipulating stacks
-
take_ref
TakeRef, TakeSlice, and TakeString traits enable treating references/slices and values interchangeably. They can be treated as references/slices. And you can take ownership of the value…
-
fool
Traits for interoperation of Boolean and sum types
-
ocm
Outcome type for a value and its errors
-
specialize
Type specialization macros and helpers
-
rawslice
Reimplementation of the slice iterators, with extra features. For example creation from raw pointers and start, end pointer accessors.
-
sashay
Type-erased and lifetime-erased references and slices
-
authorized
struct's fields
-
nested-struct
Create nested structs using a macro
-
async-pipeline
Easy way to pipeline sync and async functions
-
array_ex
Easy and powerful compile-time array initialization
-
blue_typemap
A TypeMap Dependency Injection method for dynamic function parameters
-
isrepr
Generating validation from arbitrary memory to repr(C) types
-
once_self_cell
Safe-to-use proc-macro-free self-referential structs in stable Rust
-
nonminmax
Primitives types which cannot be their minimum/maximum value
-
borrow_with_ref_obj
Versions of Borrow[Mut] that return reference objects (Ex. std::cell::Ref)
-
kai
My personal prelude and utilities
-
typers
Type level programing
-
packer
Pack static files into your binary at compile time
-
chain_tools
A set of traits allowing for more a erganomic style of chain programming
-
easy-ffi-wrapper
Types and utilities to enable writing C FFI wrappers easily
-
typed-builder-macro
Compile-time type-checked builder derive
-
typestring
String constants lifted into types. This is a stopgap until const generics support strings.
-
with_locals-proc_macros
TODO!
-
exclusive_cell
A thread-safe, non-blocking, no-std cell that can only be accessed once
-
default-ext
extension methods for the
Default
trait -
sorted
compile time guarantees for sorted sequences
-
is_none_or
function for the Option type
-
berusty
Me practicing Rust
-
soft
non-panicking assertions
-
hetseq
Defines traits and types to work with heterogenous sequences
-
layout-lib
view the data layout of a struct
-
relevant
A small utility type to emulate must-use types
-
some-to-err
A set of traits for converting
Option
toResult
, providing methods to transformSome
values toErr
while handlingNone
values asOk
, either directly or using a closure to generate the Ok result -
align_ext
An extension trait for Rust integer types to make integers aligned to a power of two
-
optfield
A macro that generates structs with optional fields
-
pattern_code
Given a path patterm matched source code
-
read-primitives
traits to read primitive types from any type that implements std::io::Read
-
parse-generics-shim
A stable shim for the proposed RFC #1583; provides macros for parsing generics and where clauses
-
concurrent-slice
Extend slice-type types with methods for concurrent processing
-
verified
types to facilitate the development of verifiable rust
-
tooples
Array functions for tuples
-
struct-pad
Padding types to enable memory layout optimizations
-
forests
Forest types and operations in Rust
-
refview
Get a reference view of some fields into a struct
-
literalext
A helper crate for interpreting proc-macro
Literal
values -
const_map
Macro to define compile-time associated constant maps
-
linspace
Traits for numpy linspace equivalent functions, into both vectors and arrays, the latter of which can be executed at compile-time
-
match_self
Rust macro for the common "x = match x {" pattern
-
type_at
trait to index type of Rust tuples
-
peggen-impl
Generate recursive-descent & precedence climbing parsers. (extra implementations)
-
annotation-rs
Compile-time annotation parser for rust
-
sixarm_assert
Assert macros for Rust tests. By SixArm.com.
-
convertable
Non-reflexive version of From and Into
-
dupe
Marker for types which are cheap to clone
-
offsetter
Macro for creating structs with fields at specified offsets, by automatically inserting padding
-
simple-bits
trait to extract and replace bits in integer types
-
ternary-rs
emulating the ternary operator from C/C++ (among other languages)
-
dyngo
Type-safe dynamic (type-erased) generic outparams