-
strum
macros for working with enums and strings
-
num_enum
Procedural macros to make inter-operation between primitives and enums easier
-
synstructure
Helper methods and macros for custom derives
-
enumflags2
Enum-based bit flags
-
enumset
creating compact sets of enums
-
enum-map
A map with C-like enum keys represented internally as an array
-
enum-iterator
Tools to iterate over all values of a type (e.g. all variants of an enumeration)
-
spirv
Rust definition of SPIR-V structs and enums
-
flagset
Data types and a macro for generating enumeration-based bit flags
-
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
-
prost-build
Generate Prost annotated Rust types from Protocol Buffers files
-
derive_utils
A procedural macro helper for easily writing derive macros for enums
-
auto_enums
allow multiple return types by automatically generated enum
-
serde_variant
Retrieve serde provided variant names for enum objects
-
kinded
Generate enums with same variants, but without data
-
caret
Macros for declaring non-exhaustive C-style enumerations, with named members
-
bitflagset
Enum and positional typed bitsets with Set API
-
ordinal-map
Ordinal trait to map values to integers and efficient maps and sets for such types
-
argyle
A lightweight, agnostic CLI argument parser
-
as_variant
macro to convert enums with newtype variants to
Options -
derive-new
#[derive(new)]implements simple constructor functions for structs and enums -
try_match
Fallible pattern matching with a function-like syntax
-
thiserror-no-std
derive(Error)
-
result-like
Option/Result-like monad interface for your own enum
-
parse-variants
Derive the syn::parse::Parse trait for enumerations and use it to comfortably parse a variant of the enumeration
-
enum-display
A macro to derive Display for enums
-
rbx_reflection
Roblox reflection database and ambiguous type resolution
-
enum-assoc
Procedural macro to associate constants with enum variants
-
enum-table
creating tables with enums as key
-
packed_struct
Binary-level structure packing and unpacking generator
-
vst3
Rust bindings for the VST 3 API
-
open-enum
An attribute for generating "open" fieldless enums, those that accept any integer value, by using a newtype struct and associated constants
-
tinkoff-invest
tinkoff invest library
-
linearize
Types that are enumerable and an array-backed map
-
repack
Powerful model codegen
-
dtype_dispatch
Macro builder for working with data types
-
spire_enum
Procedural macros to facilitate enum usage, such as when delegating implementations, extracting variant types, or creating enum tables
-
iter-enum
#[derive(Iterator, DoubleEndedIterator, ExactSizeIterator, Extend)] for enums
-
among
A general purpose sum type with three cases: the enum
Amongwith variantsLeft,MiddleandRight. A three-way counterpart toEither, withno_std,serde,futuresandtokiointegrations. -
subenum
A proc-macro to create subsets of enums, that can be converted to and from
-
bitflag-attr
A macro to generate bitflags structures from C-like enums
-
is-macro
Derive methods for using custom enums like Option / Result
-
serde-implicit
the serde(untagged) you wish you had
-
io-enum
#[derive(Read, Write, Seek, BufRead)] for enums
-
gratte
macros for working with enums and strings; forked from strum
-
wasm-wave
WebAssembly Value Encoding
-
marque-ism
ISM vocabulary types, generated CVE enums, and Span for marque
-
either-or-both
The enums EitherOrBoth with the three variants Left, Right, Both and Either with the Left and Right variants
-
boolean-enums
Generate enums with Yes and No variants. Supports no_std and serde.
-
peel-off
Peel off a specific variant from a Rust enum, splitting it into the extracted variant and the residual
-
sumtype
Generate zerocost sumtype of iterators or closures
-
loft
embedded scripting language
-
dtype_variant
Enables type-safe enum variants with shared type tokens across multiple enums, allowing for synchronized variant types and powerful downcasting capabilities between related enums
-
serde_dms
Serde Deserializer for DMS
-
dang-yang
A practical yang parser that allows custom type extension and definitions at build time
-
frozone
Freeze structs and enums in time
-
hailort-sys
Raw FFI bindings to the HailoRT C runtime library
-
from_variants
Rust macro to automatically generate conversions for newtype enums
-
enum-collections
EnumMap implemented in safe rust
-
ptr-union
Pointer union types the size of a pointer by storing the tag in the alignment bits
-
benzina
Various helper types and macros for
diesel -
codama-syn-helpers
Extension of syn for Codama
-
pyenum
Expose Rust enums to Python as real enum.Enum subclasses via PyO3
-
binmarshal
Pack and unpack structs and enums into and out of binary data streams
-
sage-lexer
Lexer for the Sage language
-
variant_count
Derive macro for enum which adds to it the count of variants
-
enums
Enumerate trait for vector and slice in rust. It abstracts chain methods like .iter().enumerate().collect() into a clean, reusable method also called enums like python enumerate.
-
zugferd-code-lists
ZUGFeRD code lists, e.g. languages enum, currencies enum, countries enum, etc.
-
litty
Literally adds literals to Rust
-
enum_variant_type
Generates types for each enum variant and conversion trait impls
-
hodgepodge
Lightweight dataset crate of enums for prototyping, teaching, and experimentation
-
nutype-enum
Helper macro to create a nutype that behaves like an enum
-
enumeration
An extension to rust enum
-
VersaLogrs
Versatile logging library
-
wyre
wyre serialization and deserialization library
-
struct-to-enum
Derive macros to generate enums from struct fields - compile-time safe field selection and dispatch
-
terra-items
enum contatining terraria items and prefixes
-
steam-enums
Steam protocol enumerations (EResult, EMsg, EAccountType, etc.) for Rust
-
looking-glass
reflection & type-erasure library for Rust
-
sigma-enum
A macro to simulate sigma types with enums
-
frunk-enum-core
Implemenation of genericized enums for use with frunk
-
pattern-wishcast
Pattern types emulation for conditional variants using conditional never types
-
enum-derived
Generate random instances of your enums and structs
-
matched_enums
A macro that provides the option to bin enum attribute to match-statements. This makes it easier to convert values into enums.
-
serde_content_ref
Serde deserializer for reference content
-
penum
Make enum conform to a given pattern
-
enum_dict
Efficient enum-indexed dictionaries
-
serde_literals
Support for serialising and deserialising literals directly into enum unit variants
-
enumcapsulate
Safe casting for newtype enums and their variants
-
atomic_enum
An attribute to create an atomic wrapper around a C-style enum
-
omcp
functions
-
axum-routes
Create an axum Router from an enum and resolve routes
-
babel
Provide Rust enums for Groq, SambaNova, Openrouter's llm model names
-
aargvark
Self-similar argument parsing
-
terra-items-xbox360
enum contatining xbox 360 terraria items and prefixes
-
baxe
that simplifies error handling in Axum
-
bevy_state_plugin_generator
A build-dependency that generates a Bevy State Plugin from a simple state definition
-
quick-error
A macro which makes error types pleasant to write
-
ai-quick-error
A no_std fork of quick-error
-
enumorph
Derive macro to generate
TryFromandFromimplementations for converting between newtype enum variants and their wrapped values -
static-dispatch
Implement a trait for an enum, where all variants implement the trait
-
enumscribe
Derive macros for converting between enums and strings
-
jdt_maybe_reference
MaybeReference is a utility crate that establishes an enum to use where a value may either be a single JSON string or a JSON object
-
tf2-enum
enumerated types for models related to the Team Fortress 2 item schema
-
enum-update
representing state changes as enums
-
enumoid
Enum Indexed Containers
-
axum-query-list
QueryList extractor for axum — deserialize Vec<Enum> from query strings with optional cap
-
quither
A flexible enum-based utility for representing values that may be on the left, right, neither, or both sides
-
indexed_valued_enums
Create enums resolving into values, and get their variants back through their values, their discriminant or their name; inspired by Java
-
rustc-ap-rustc_lexer
Automatically published version of the package
rustc_lexerin the rust-lang/rust repository from commit 9a27044f42ace9eb652781b53f598e25d4e7e918 The publishing script for this crate lives at: https://github… -
ffi-enum
Simply write and use
enums like rust native enums, freely passing through ffi -
enum-ptr
Ergonomic tagged pointer
-
error-enum
Provide a easy way to define an enum that represents errors with error codes, document comments and several other functionalities
-
plectrum
An easy way to represent lookup tables in a db as rust enums
-
jdt_maybe_multiple
MaybeMultiple is a utility crate that establishes an enum to use in place of
Optionwhere the content may be singular, multiple, or None -
bitsong
Fast
#[no_std]macro-based serialization/deserialization -
data-classes
Abbreviation of #[derive(xxx)]
-
dispatch_map
Type-safe, declarative dispatch maps for Rust configuration with automatic glue and zero boilerplate
-
maybe-valid
Traits and outcome enums for structural validation/refinement conversions
-
delegation
Macro-based delegation for enums and structs
-
diesel-enums
🔢 Seamless mapping between rust enums and custom postgres types or regular lookup tables, with automatically generated consistency checks
-
erased-discriminant
Type-erased version of core::mem::Discriminant<T>
-
deltoid
calculate and apply deltas to structs and enums
-
inttype-enum
Converts an [
enum] into an [inttype], and try to convert it back -
tggen
A mildly competent autogenerated telegram bot api wrapper (helper crate)
-
pgenum_parser
parser for PostgreSQL enum types, intended to allow static analysis of enum definitions in SQL dumps (such as provided by Rails’
structure.sql). It uses pg_query.rs for the analysis… -
minecraft-version
Exhaustive enum of Minecraft versions
-
enum-derive-2018
macros for deriving additional functionality for enums
-
brotopuf
(de)serializing structs in protocol buffer wire format
-
enum_meta
Add metadata to Enum Variants
-
unwrap-enum
generate methods to access enum variants
-
reqwest-enum
Typed enum HTTP API for reqwest
-
str_enum
declarative macro for an enum with associated strings for each variant
-
portable_atomic_enum
An attribute to create an portable atomic wrapper around a C-style enum
-
bool-enum
A macro for generating boolean-like enums that support bitwise and boolean operations
-
checked-rs
encoding validation semantics into the type system
-
tisel
Effective type-based pseudodynamic dispatch to impls, enums and typeid
-
enumizer
macros for generating enums that are equivalent and convertible to standard library enums
-
biosyn
Mad Science Crate for working with
syn -
assert_enum_variants
macro that asserts that all variants of an enum are as provided in the macro invocation
-
repr-discriminant
Trait to retrieve the discriminant of an enum variant with a repr(T) at runtime
-
enum_default_generator
Codegen tool to generate Default trait impls for Gateway API enums
-
stateless
A lightweight, zero-cost state machine library that separates structure from behavior. Guards and actions live in wrapper code, not the DSL
-
thisenum
Assign constant literals to enum arms
-
varienum
Runtime inspection of enum variants
-
enum-variants-strings
Derive macro for converting instances of enums to and from strs using variant names
-
window-getter
retrieving information about the windows
-
axum-server-maybetlsacceptor
axum-server-compatible enum that lets you easily accepts connections with or without TLS
-
inline_enum_handler
Match enum variants to #[handler] functions without boilerplate
-
store_by_enum
Type-safe data stores addressed and accessed using enums (in any order)
-
jkcenum
Rust enum library
-
methods-enum
Two macros for easy implementation of 'state' design pattern and other dynamic polymorphism using enum instead of dyn Trait
-
c-enum
A macro to generate c-like enums
-
enum-toggles
A generic Rust library for managing toggles/flags using enums and bitvec
-
int-to-c-enum
TryFromInt - A convenient derive macro for converting an integer to an enum
-
compact-option
Niche-packing optional that uses exactly as much memory as raw
R; intended forRwith spare bit patterns (primarilyrepr(u8)enums with <256 variants) -
evutils
Handy helper utilities for working with enum variants
-
json-result
A generic enum representing a JSON result that can either be a success (
Ok) with a value of typeTor an error (Err) with a value of typeE -
hirust-gen
gen
-
assert-order
Assert the order of Rust enum variants
-
enum_discriminant
Procedural macro to add functions on enum types to get discrimnant value from variant or create unit variant from discriminant value
-
intuple
Convert structs and enums into tuples (of refs) and back - recursive, ignore fields
-
enum_convert
procedural macro library for deriving automatic conversions between enum variants
-
derive-termination
Derive the std::process::Termination trait for an enum (annotate the variants with
#[exit_code(n)) -
ctrlgen
Generate enums for message-passing services
-
loose_enum
A macro for defining loose repr enums
-
csvenum
Generate code for enums with associated constants from a .csv in your command line
-
mabe
framework for creating debug-friendly error enums in Rust
-
enum_reflect_extern
Traits for enum_reflect
-
peapod
Ultra-compact storage for enums
-
any-range
AnyRange<T> enum can hold any Range*<T> type
-
enum_cycling
Small macro for working with enums
-
trait-enumizer
Proc macro to automatically generate enum based on method signatures (with appropriate helpers)
-
nvtiff-sys
Rust bindings to nvTIFF via bindgen
-
variantly
Derive helper methods for enum variants that are familiar from
std::option::Option&std::result::Resultsuch asunwrap_ororand_then -
rotalubat
A derive macro for cycling through enum variants
-
enum_delegate
Easily replace dynamic dispatch with an enum, for speed and serialization
-
merge-it
Generates logic for merging structs and enums
-
gull
type generation
-
enum-fun
Silly enum helpers
-
enum_index
Trait and macros for extracting Enum variant index
-
azalia-remi
🐻❄️🪚 Allows to create a union enum for each official Remi crate
-
beerec-variants
Procedural derive macro to generate boilerplate on unit variants enum types
-
complex-enum-macros
Convert enums with non-unit variants to privitives and back
-
enum-kinds
Generate enums with matching variants but without any of the associated data
-
itern
enumtypes for choosing between N differentIteratortypes in a single type -
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)
-
enum_variant_accessors
derive macros to generate is_*, as_* and as_*_mut accessors for enum variants
-
enser
Enum serialization with tag
-
quick-error2
A macro which makes error types pleasant to write
-
iso639-1
enum and utils
-
symbols
Proc-macro utility to populate enums from database data
-
iab-specs-adcom
AdCOM 1.0 enumerations and common objects for the iab-specs ecosystem
-
vnum
Create enums with a constant value associated to every variant
-
actix-web-utils
Just some useful addons for actix web
-
meta-enum
Meta Information on C-Style Enum Inspired by QMetaEnum
-
big_enum_set
creating sets of enums with a large number of variants
-
numeric-enum-macro
A declarative macro for type-safe enum-to-numbers conversion
-
flexpiler
Deserialiser aiming at high customizability
-
iter-n
functions returning impl Iterator to return one of several distinct types
-
maybe-uninit
MaybeUninit for friends of backwards compatibility
-
enum_reflect
Enums reflection library
-
ref_or_box
enum containing either a static ref or box
-
inarybay
Graph-based binary format (de)serializer generator
-
ai-personas
Hard-contract enum definitions for Sovereign AI Personas
-
treeerror
macros for generating trees of enums, as well as
Fromimplementations converting between them. Primarily intended for error handling. -
phenotype-internal
Defines
Phenotypetrait forPeapodcrate -
quickvariant
C++-style variant library
-
every_variant
EveryVariant trait that provides the every_variant method on types. Allows you to easily generate every combination of variants in structures that contains Enums, or in nested enum trees…
-
voxel-orient
Voxel cube orientation library
-
enum-unitary
Trait and macro for unitary enums
-
frunk-enum-derive
Derive macros to implement the frunk::LabelledGeneric trait on enums
-
match-commutative
Match on patterns commutatively, reducing the use of duplicated patterns. ↔️
-
derive-name
Derive macro to get the name of a struct, enum or enum variant
-
craftflow-nbt
A serde-based NBT (from Minecraft) binary format implementation
-
enumx
Ad-hoc enum extension
-
enum_builder
macros that allow building enum types from variants that can be defined in multiple dispersed files in the crate
-
looking-glass-protobuf
Protobuf reflection library built on looking-glass and Prost
-
variant_counter
Rust's Enum variant counter
-
symbols-models
Proc-macro utility to populate enums from database data (shared traits)
-
nested-deserialize
A very special-case implementation of serde::Deserialize for untagged nested enums
-
bitbag
A useful struct for dealing with bit flags
-
enum-ref
Proc. macro for generating enum discriminant types.
-
diesel-enum-sqltype
derive macro for FromSql and ToSql traits for postgres enums
-
tri_ton
A Macro for Handling Exceptions
-
diesel-enum-number
Attribute macro to allow diesel to use number based enums in postgres
-
abienum
underlying types for C enums
-
enum_arr
Enum-Indexed arrays inspired by the Odin Programming Language
-
variants-struct
A derive macro to convert enums into a struct where the variants are members
-
enum_from_derive
Implement From For the Enumeration
-
rs-imgextint2mimenum
Converts the ext to the mime type enum
-
enum-fields
Quickly access shared enum fields in Rust
-
http-derive
Derive macro for implementing
Into<http::StatusCode>for your enums using the standard http types -
enum-primitive-derive
enum_primitive implementation using procedural macros to have a custom derive
-
enum_handler
A macro to generate a handler trait for enums variants
-
random_variant
To be used with all variant, contains the derive macro
-
cxx-enumext
Generate cxx compatable
Trivialbindings for rust enum types -
enum-field
Declarative macros for enum-based heterogeneous field accessors
-
enum-bitmasks
A no_std compatible bitmask macro that can be implemented on enums
-
plain_enum
Mimicing Java's enum::values() and EnumMap
-
encap_enum
A non-verbose way to define a group of constants and bit flags
Try searching with DuckDuckGo.