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
enum-map
A map with C-like enum keys represented internally as an array
enumset
creating compact sets of enums
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
derive_utils
A procedural macro helper for easily writing derive macros for enums
auto_enums
allow multiple return types by automatically generated enum
kinded
Generate enums with same variants, but without data
serde_variant
Retrieve serde provided variant names for enum objects
ipld-core
IPLD core types
caret
Macros for declaring non-exhaustive C-style enumerations, with named members
bitflagset
Enum and positional typed bitsets with Set API
envious
Deserialize (potentially nested) environment variables into your custom structs
aws-sdk-mediaconvert
AWS SDK for AWS Elemental MediaConvert
derive-new
#[derive(new)]implements simple constructor functions for structs and enums
parse-variants
Derive the syn::parse::Parse trait for enumerations and use it to comfortably parse a variant of the enumeration
as_variant
macro to convert enums with newtype variants to
Options
sage-checker
Name resolution and type checker for the Sage language
ordinal-map
Ordinal trait to map values to integers and efficient maps and sets for such types
enum-table
creating tables with enums as key
thiserror-no-std
derive(Error)
spire_enum
Procedural macros to facilitate enum usage, such as when delegating implementations, extracting variant types, or creating enum tables
result-like
Option/Result-like monad interface for your own enum
aws-sdk-medialive
AWS SDK for AWS Elemental MediaLive
enum-assoc
Procedural macro to associate constants with enum variants
try_match
Fallible pattern matching with a function-like syntax
packed_struct
Binary-level structure packing and unpacking generator
argyle
A lightweight, agnostic CLI argument parser
enum-display
A macro to derive Display for enums
linearize
Types that are enumerable and an array-backed map
dtype_dispatch
Macro builder for working with data types
rbx_reflection
Roblox reflection database and ambiguous type resolution
subenum
A proc-macro to create subsets of enums, that can be converted to and from
vst3
Rust bindings for the VST 3 API
iter-enum
#[derive(Iterator, DoubleEndedIterator, ExactSizeIterator, Extend)] for enums
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
strum_macros
macros for working with enums and strings
among
A general purpose sum type with three cases: the enum
Amongwith variantsLeft,MiddleandRight. A three-way counterpart toEither, withno_std,serde,futuresandtokiointegrations.
repack
Powerful model codegen
boolean-enums
Generate enums with Yes and No variants. Supports no_std and serde.
serde-implicit
the serde(untagged) you wish you had
int-enum
A derive macro for conversion between integer and enum types
finance_enums
Standard financial enumerations
gratte
macros for working with enums and strings; forked from strum
sumtype
Generate zerocost anonymous sum types that implement common traits
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
bitflag-attr
A macro to generate bitflags structures from C-like enums
peel-off
Peel off a specific variant from a Rust enum, splitting it into the extracted variant and the residual
mathscape-core
Point, Number, Fn, Term enum, hash-consing, evaluation
wasm-wave
WebAssembly Value Encoding
is-macro
Derive methods for using custom enums like Option / Result
from_variants
Rust macro to automatically generate conversions for newtype enums
benzina
Various helper types and macros for
diesel
ptr-union
Pointer union types the size of a pointer by storing the tag in the alignment bits
enum-collections
EnumMap implemented in safe rust
quick-error
A macro which makes error types pleasant to write
loft
embedded scripting language
io-enum
#[derive(Read, Write, Seek, BufRead)] for enums
hailort-sys
Raw FFI bindings to the HailoRT C runtime library
enum_variant_type
Generates types for each enum variant and conversion trait impls
enum2schema
derive macro that emits a JSON Schema describing a rust type, including doc-comment descriptions, externally tagged enum variants, and field types
serde_dms
Serde Deserializer for DMS
dang-yang
A practical yang parser that allows custom type extension and definitions at build time
typewriter-plugin-dart
Dart/Flutter emitter plugin for typewriter
typewriter-plugin-ruby
Ruby (Sorbet) emitter plugin for typewriter
typewriter-plugin-php
PHP emitter plugin for typewriter
ansi-parser
using nom for parsing ANSI Escape Codes
litty
Literally adds literals to Rust
nutype-enum
Helper macro to create a nutype that behaves like an enum
wireforge-packet
Unified packet enum and protocol dispatch logic
variant_count
Derive macro that adds a variant count to an enum
struct-to-enum
Derive macros to generate enums from struct fields - compile-time safe field selection and dispatch
binmarshal
Pack and unpack structs and enums into and out of binary data streams
VersaLogrs
Versatile logging library
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.
terra-items
enum contatining terraria items and prefixes
frunk-enum-core
Implemenation of genericized enums for use with frunk
country-code-enum
Copyable Serde and Sqlx compatible country codes
serde_content_ref
Serde deserializer for reference content
enumeration
An extension to rust enum
looking-glass
reflection & type-erasure library for Rust
extrum
A macro for defining enum-like types with a specified underlying integer type
hodgepodge
Lightweight dataset crate of enums for prototyping, teaching, and experimentation
pattern-wishcast
Pattern types emulation for conditional variants using conditional never types
clap-binary-enum
A generic wrapper for using two-variant enums as optional clap CLI flags
steam-enums
Steam protocol enumerations (EResult, EMsg, EAccountType, etc.) for Rust
serde_literals
Support for serialising and deserialising literals directly into enum unit variants
enumscribe
Derive macros for converting between enums and strings
sigma-enum
A macro to simulate sigma types with enums
aargvark
Self-similar argument parsing
babel
Provide Rust enums for Groq, SambaNova, Openrouter's llm model names
enum-derived
Generate random instances of your enums and structs
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
matched_enums
A macro that provides the option to bin enum attribute to match-statements. This makes it easier to convert values into enums.
enum_dict
Efficient enum-indexed dictionaries
error-enum
Provide a easy way to define an enum that represents errors with error codes, document comments and several other functionalities
axum-routes
Create an axum Router from an enum and resolve routes
c-enum
A macro to generate c-like enums
pyenum
Expose Rust enums to Python as real enum.Enum subclasses via PyO3
enumoid
Enum Indexed Containers
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
static-dispatch
Implement a trait for an enum, where all variants implement the trait
indexed_valued_enums
Create enums resolving into values, and get their variants back through their values, their discriminant or their name; inspired by Java
enum-ptr
Ergonomic tagged pointer
ffi-enum
Simply write and use
enums like rust native enums, freely passing through ffi
penum
Make enum conform to a given pattern
enumcapsulate
Safe casting for newtype enums and their variants
enumorph
Derive macro to generate
TryFromandFromimplementations for converting between newtype enum variants and their wrapped values
type_reflect
Extensible runtime reflection through a Derive macro
delegation
Macro-based delegation for enums and structs
wyre
wyre serialization and deserialization library
omcp
functions
colornames
An enum of color names, with a catchall RGB variant
atomic_enum
An attribute to create an atomic wrapper around a C-style enum
tool-arg-fuzzy
Fuzzy-match LLM-generated args to JSON Schema enum values. Zero-Levenshtein cascade (exact / case-insensitive / prefix / substring) with ambiguity guard. coerce_enums rewrites enum-constrained…
enum-update
representing state changes as enums
ai-quick-error
A no_std fork of quick-error
diesel-enums
🔢 Seamless mapping between rust enums and custom postgres types or regular lookup tables, with automatically generated consistency checks
deltoid
calculate and apply deltas to structs and enums
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…
repr-discriminant
Trait to retrieve the discriminant of an enum variant with a repr(T) at runtime
terra-items-xbox360
enum contatining xbox 360 terraria items and prefixes
enum-tag
Proc. macro for generating enum discriminant types.
minecraft-version
Exhaustive enum of Minecraft versions
enum-variants-strings
Derive macro for converting instances of enums to and from strs using variant names
baxe
that simplifies error handling in Axum
tf2-enum
enumerated types for models related to the Team Fortress 2 item schema
axum-query-list
QueryList extractor for axum — deserialize Vec<Enum> from query strings with optional cap
enum_meta
Add metadata to Enum Variants
feagi_data_serialization
Adds serialization and deserialization to select Feagi Data Structures
codama-syn-helpers
Extension of syn for Codama
tggen
A mildly competent autogenerated telegram bot api wrapper (helper crate)
quither
A flexible enum-based utility for representing values that may be on the left, right, neither, or both sides
stateless
A lightweight, zero-cost state machine library that separates structure from behavior. Guards and actions live in wrapper code, not the DSL
portable_atomic_enum
An attribute to create an portable atomic wrapper around a C-style enum
bitsong
Fast
#[no_std]macro-based serialization/deserialization
inttype-enum
Converts an [
enum] into an [inttype], and try to convert it back
atomium
atomic enums
str_enum
declarative macro for an enum with associated strings for each variant
data-classes
Abbreviation of #[derive(xxx)]
nestum
Proc-macro for nested enum paths like Enum1::Variant1::VariantA
plectrum
An easy way to represent lookup tables in a db as rust enums
checked-rs
encoding validation semantics into the type system
dispatch_map
Type-safe, declarative dispatch maps for Rust configuration with automatic glue and zero boilerplate
tisel
Effective type-based pseudodynamic dispatch to impls, enums and typeid
assert_enum_variants
macro that asserts that all variants of an enum are as provided in the macro invocation
unwrap-enum
generate methods to access enum variants
methods-enum
Two macros for easy implementation of 'state' design pattern and other dynamic polymorphism using enum instead of dyn Trait
enum-helper
enum helper. Macros that generate common boilerplate for enums.
bevy_filter_enum
Derive marker components from enum variants for Bevy ECS queries
enum-derive-2018
macros for deriving additional functionality for enums
maybe-valid
Traits and outcome enums for structural validation/refinement conversions
azalia-remi
🐻❄️🪚 Allows to create a union enum for each official Remi crate
enum-path
Derive FromStr and Display impls for enums that follow a hierarchical path-like serialization scheme
variantly
Derive helper methods for enum variants that are familiar from
std::option::Option&std::result::Resultsuch asunwrap_ororand_then
assert-order
Assert the order of Rust enum variants
intuple
Convert structs and enums into tuples (of refs) and back - recursive, ignore fields
derive-termination
Derive the std::process::Termination trait for an enum (annotate the variants with
#[exit_code(n))
bool-enum
A macro for generating boolean-like enums that support bitwise and boolean operations
enumizer
macros for generating enums that are equivalent and convertible to standard library enums
enum_index
Trait and macros for extracting Enum variant index
mabe
framework for creating debug-friendly error enums in Rust
reqwest-enum
Typed enum HTTP API for reqwest
ctrlgen
Generate enums for message-passing services
permkit-permission-macros
Derive macro for typed permission enums
peapod
Ultra-compact storage for enums
enum_cycling
Small macro for working with enums
enum-tree
Derives for hierarchical enums: const variant enumeration, From conversions, and ancestor wrapping
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)
csvenum
Generate code for enums with associated constants from a .csv in your command line
trait-enumizer
Proc macro to automatically generate enum based on method signatures (with appropriate helpers)
varienum
Runtime inspection of enum variants
maybe-uninit
MaybeUninit for friends of backwards compatibility
enum-fun
Silly enum helpers
gull
type generation
rotalubat
A derive macro for cycling through enum variants
jkcenum
Rust enum library
enum-toggles
A generic Rust library for managing toggles/flags using enums and bitvec
enum-primitive-derive
enum_primitive implementation using procedural macros to have a custom derive
extendable-data
A set of rust macros that allows you to specify data that can be "extended" or inherited from
enum_delegate
Easily replace dynamic dispatch with an enum, for speed and serialization
numeric-enum-macro
A declarative macro for type-safe enum-to-numbers conversion
inline_enum_handler
Match enum variants to #[handler] functions without boilerplate
enum_variant_accessors
derive macros to generate is_*, as_* and as_*_mut accessors for enum variants
int-to-c-enum
TryFromInt - A convenient derive macro for converting an integer to an enum
quick-error2
A macro which makes error types pleasant to write
enum_convert
procedural macro library for deriving automatic conversions between enum variants
enser
Enum serialization with tag
symbols
Proc-macro utility to populate enums from database data
vnum
Create enums with a constant value associated to every variant
actix-web-utils
Just some useful addons for actix web
iab-specs-adcom
AdCOM 1.0 enumerations and common objects for the iab-specs ecosystem
enum_default_generator
Codegen tool to generate Default trait impls for Gateway API enums
frunk-enum-derive
Derive macros to implement the frunk::LabelledGeneric trait on enums
big_enum_set
creating sets of enums with a large number of variants
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…
flexpiler
Deserialiser aiming at high customizability
enum-kinds
Generate enums with matching variants but without any of the associated data
first-class-variants
A procedural macro to generate first-class structs for enum variants
derive-name
Derive macro to get the name of a struct, enum or enum variant
brotopuf
(de)serializing structs in protocol buffer wire format
complex-enum-macros
Convert enums with non-unit variants to privitives and back
iso639-1
enum and utils
evutils
Handy helper utilities for working with enum variants
iter-n
functions returning impl Iterator to return one of several distinct types
enum_reflect
Enums reflection library
ai-personas
Hard-contract enum definitions for Sovereign AI Personas
inarybay
Graph-based binary format (de)serializer generator
treeerror
macros for generating trees of enums, as well as
Fromimplementations converting between them. Primarily intended for error handling.
bitmask
generator for enum scoped bit flags
phenotype-internal
Defines
Phenotypetrait forPeapodcrate
biosyn
Mad Science Crate for working with
syn
match-commutative
Match on patterns commutatively, reducing the use of duplicated patterns. ↔️
craftflow-nbt
A serde-based NBT (from Minecraft) binary format implementation
variant_counter
Rust's Enum variant counter
symbols-models
Proc-macro utility to populate enums from database data (shared traits)
enum_discriminant
Procedural macro to add functions on enum types to get discrimnant value from variant or create unit variant from discriminant value
hirust-gen
gen
enum-unitary
Trait and macro for unitary enums
bitbag
A useful struct for dealing with bit flags
enum-ref
Proc. macro for generating enum discriminant types.
diesel-enum-number
Attribute macro to allow diesel to use number based enums in postgres
tri_ton
A Macro for Handling Exceptions
enumx
Ad-hoc enum extension
meta-enum
Meta Information on C-Style Enum Inspired by QMetaEnum
beerec-variants
Procedural derive macro to generate boilerplate on unit variants enum types
enum_builder
macros that allow building enum types from variants that can be defined in multiple dispersed files in the crate
thisenum
Assign constant literals to enum arms
window-getter
retrieving information about the windows
abienum
underlying types for C enums
variants-struct
A derive macro to convert enums into a struct where the variants are members
random_variant
To be used with all variant, contains the derive macro
enum_handler
A macro to generate a handler trait for enums variants
Try searching with DuckDuckGo.