-
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)
-
bcs
Binary Canonical Serialization (BCS)
-
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
-
packed_struct
Binary-level structure packing and unpacking generator
-
prost-build
Generate Prost annotated Rust types from Protocol Buffers files
-
auto_enums
allow multiple return types by automatically generated enum
-
wasm-wave
WebAssembly Value Encoding
-
flagset
Data types and a macro for generating enumeration-based bit flags
-
derive_utils
A procedural macro helper for easily writing derive macros for enums
-
serde_variant
Retrieve serde provided variant names for enum objects
-
try_match
Fallible pattern matching with a function-like syntax
-
argyle
A lightweight, agnostic CLI argument parser
-
caret
Macros for declaring non-exhaustive C-style enumerations, with named members
-
spirv
Rust definition of SPIR-V structs and enums
-
repack
Powerful model codegen
-
derive-new
#[derive(new)]implements simple constructor functions for structs and enums -
ordinal-map
Ordinal trait to map values to integers and efficient maps and sets for such types
-
kinded
Generate enums with same variants, but without data
-
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
-
tinkoff-invest
tinkoff invest library
-
linearize
Types that are enumerable and an array-backed map
-
bitflag-attr
A macro to generate bitflags structures from C-like enums
-
enum-assoc
Procedural macro to associate constants with enum variants
-
enum-table
creating tables with enums as key
-
subenum
A proc-macro to create subsets of enums, that can be converted to and from
-
result-like
Option/Result-like monad interface for your own enum
-
dtype_dispatch
Macro builder for working with data types
-
as_variant
macro to convert enums with newtype variants to
Options -
thiserror-no-std
derive(Error)
-
vst3
Rust bindings for the VST 3 API
-
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
-
statum
Compile-time state machine magic for Rust: Zero-boilerplate typestate patterns with automatic transition validation
-
loft
embedded scripting language
-
hodgepodge
Lightweight dataset crate of enums for prototyping, teaching, and experimentation
-
boolean-enums
Generate enums with Yes and No variants. Supports no_std and serde.
-
sumtype
Generate zerocost sumtype of iterators or closures
-
tf2-enum
enumerated types for models related to the Team Fortress 2 item schema
-
beve
(Binary Efficient Versatile Encoding) specification with serde support
-
benzina
Various helper types and macros for
diesel -
enum-collections
Collections data structures optimized for Enum, initializable at runtime
-
ptr-union
Pointer union types the size of a pointer by storing the tag in the alignment bits
-
gratte
macros for working with enums and strings; forked from strum
-
variant_count
Derive macro for enum which adds to it the count of variants
-
zugferd-code-lists
ZUGFeRD code lists, e.g. languages enum, currencies enum, countries enum, etc.
-
io-enum
#[derive(Read, Write, Seek, BufRead)] for enums
-
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.
-
enumeration
An extension to rust enum
-
wyre
wyre serialization and deserialization library
-
matched_enums
A macro that provides the option to bin enum attribute to match-statements. This makes it easier to convert values into enums.
-
sigma-enum
A macro to simulate sigma types with enums
-
futures-enum
#[derive(Future, Stream, Sink, AsyncRead, AsyncWrite, AsyncSeek, AsyncBufRead)] for enums
-
enumcapsulate
Safe casting for newtype enums and their variants
-
enum-derived
Generate random instances of your enums and structs
-
codama-syn-helpers
Extension of syn for Codama
-
either-or-both
The enums EitherOrBoth with the three variants Left, Right, Both and Either with the Left and Right variants
-
open-enum
An attribute for generating "open" fieldless enums, those that accept any integer value, by using a newtype struct and associated constants
-
bevy_state_plugin_generator
A build-dependency that generates a Bevy State Plugin from a simple state definition
-
from_variants
Rust macro to automatically generate conversions for newtype enums
-
quither
A flexible enum-based utility for representing values that may be on the left, right, neither, or both sides
-
nutype-enum
Helper macro to create a nutype that behaves like an enum
-
terra-items
enum contatining terraria items and prefixes
-
penum
Make enum conform to a given pattern
-
plectrum
An easy way to represent lookup tables in a db as rust enums
-
erased-discriminant
Type-erased version of core::mem::Discriminant<T>
-
pattern-wishcast
Pattern types emulation for conditional variants using conditional never types
-
is-macro
Derive methods for using custom enums like Option / Result
-
omcp
functions
-
babel
Provide Rust enums for Groq, SambaNova, Openrouter's llm model names
-
enum_dict
Efficient enum-indexed dictionaries
-
serde-implicit
the serde(untagged) you wish you had
-
serde_content_ref
Serde deserializer for reference content
-
frunk-enum-core
Implemenation of genericized enums for use with frunk
-
dispatch_map
Type-safe, declarative dispatch maps for Rust configuration with automatic glue and zero boilerplate
-
enum-update
representing state changes as enums
-
data-classes
Abbreviation of #[derive(xxx)]
-
brotopuf
(de)serializing structs in protocol buffer wire format
-
aargvark
Self-similar argument parsing
-
terra-items-xbox360
enum contatining xbox 360 terraria items and prefixes
-
enumorph
Derive macro to generate
TryFromandFromimplementations for converting between newtype enum variants and their wrapped values -
axum-routes
Create an axum Router from an enum and resolve routes
-
enumscribe
Derive macros for converting between enums and strings
-
enum-toggles
A generic Rust library for managing toggles/flags using enums and bitvec
-
specmc-protocol
parsing Minecraft protocol specification
-
delegation
Macro-based delegation for 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
-
frozone
Freeze structs and enums in time
-
store_by_enum
Type-safe data stores addressed and accessed using enums (in any order)
-
enumoid
Enum Indexed Containers
-
atomic_enum
An attribute to create an atomic wrapper around a C-style enum
-
ffi-enum
Simply write and use
enums like rust native enums, freely passing through ffi -
enum-ptr
Ergonomic tagged pointer
-
indexed_valued_enums
Create enums resolving into values, and get their variants back through their values, their discriminant or their name; inspired by Java
-
reqwest-enum
Typed enum HTTP API for reqwest
-
error-enum
Provide a easy way to define an enum that represents errors with error codes, document comments and several other functionalities
-
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 -
enum-derive-2018
macros for deriving additional functionality for enums
-
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 -
enum_default_generator
Codegen tool to generate Default trait impls for Gateway API enums
-
assert_enum_variants
macro that asserts that all variants of an enum are as provided in the macro invocation
-
deltoid
calculate and apply deltas to structs and enums
-
window-getter
retrieving information about the windows
-
enum_discriminant
Procedural macro to add functions on enum types to get discrimnant value from variant or create unit variant from discriminant value
-
diesel-enums
Seamless mapping between rust enums and custom postgres types or regular lookup tables, with automatically generated consistency checks
-
int-to-c-enum
TryFromInt - A convenient derive macro for converting an integer to an enum
-
soppo-lsp
Language server for Soppo
-
quick-error
A macro which makes error types pleasant to write
-
inttype-enum
Converts an [
enum] into an [inttype], and try to convert it back -
jkcenum
Rust enum library
-
loose_enum
A macro for defining loose repr enums
-
unwrap-enum
generate methods to access enum variants
-
http-derive
Derive macro for implementing
Into<http::StatusCode>for your enums using the standard http types -
checked-rs
encoding validation semantics into the type system
-
bool-enum
A macro for generating boolean-like enums that support bitwise and boolean operations
-
portable_atomic_enum
An attribute to create an portable atomic wrapper around a C-style enum
-
thisenum
Assign constant literals to enum arms
-
axum-server-maybetlsacceptor
axum-server-compatible enum that lets you easily accepts connections with or without TLS
-
repr-discriminant
Trait to retrieve the discriminant of an enum variant with a repr(T) at runtime
-
enum-variants-strings
Derive macro for converting instances of enums to and from strs using variant names
-
enumizer
macros for generating enums that are equivalent and convertible to standard library enums
-
enum_reflect_extern
Traits for enum_reflect
-
either-both
An enum similar to the well-known
Either, but with aBothvariant -
beerec-variants
Procedural derive macro to generate boilerplate on unit variants enum types
-
clap_fmt
Serialize a clap arg parser into the command-line arguments
-
enum-values
Exposes enum values via reflection
-
enum_meta
Add metadata to Enum Variants
-
enum_convert
procedural macro library for deriving automatic conversions between enum variants
-
tisel
Effective type-based pseudodynamic dispatch to impls, enums and typeid
-
msnp11-sdk
An MSNP11 client SDK
-
enum-field
Declarative macros for enum-based heterogeneous field accessors
-
rotalubat
A derive macro for cycling through enum variants
-
uuid-enum
UUID-based enums
-
methods-enum
Two macros for easy implementation of 'state' design pattern and other dynamic polymorphism using enum instead of dyn Trait
-
hirust-gen
gen
-
itern
enumtypes for choosing between N differentIteratortypes in a single type -
pkenum
PKaiser's enum utilities
-
enum_is
Enum helper derive: auto-generate is_<variant>() methods for enums
-
variants-struct
A derive macro to convert enums into a struct where the variants are members
-
quickvariant
C++-style variant library
-
csvenum
Generate code for enums with associated constants from a .csv in your command line
-
rs-imgextint2mimenum
Converts the ext to the mime type enum
-
ctrlgen
Generate enums for message-passing services
-
intuple
Convert structs and enums into tuples (of refs) and back - recursive, ignore fields
-
c-enum
A macro to generate c-like enums
-
meta-enum
Meta Information on C-Style Enum Inspired by QMetaEnum
-
mabe
framework for creating debug-friendly error enums in Rust
-
enum-bitmasks
A no_std compatible bitmask macro that can be implemented on enums
-
peapod
Ultra-compact storage for enums
-
trait-enumizer
Proc macro to automatically generate enum based on method signatures (with appropriate helpers)
-
enum-fun
Silly enum helpers
-
enum-group-macros
Define grouped enums with ergonomic pattern matching
-
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_cycling
Small macro for working with enums
-
cxx-enumext
Generate cxx compatable
Trivialbindings for rust enum types -
azalia-remi
🐻❄️🪚 Allows to create a union enum for each official Remi crate
-
craftflow-nbt
A serde-based NBT (from Minecraft) binary format implementation
-
enum-fields
Quickly access shared enum fields in Rust
-
variantly
Derive helper methods for enum variants that are familiar from
std::option::Option&std::result::Resultsuch asunwrap_ororand_then -
any-range
AnyRange<T> enum can hold any Range*<T> type
-
iso639-1
enum and utils
-
quick-error2
A macro which makes error types pleasant to write
-
complex-enum-macros
Convert enums with non-unit variants to privitives and back
-
bit-flags
Flags trait that makes custom bitflag enums easier to implement in Rust
-
symbols
Proc-macro utility to populate enums from database data
-
enum-visitor
A small helper to generate visit-like match for enums, inspired by C++ std::visit
-
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…
-
belnapian
Belnap's 4-valued logic basic building blocks in Rust
-
vnum
Create enums with a constant value associated to every variant
-
actix-web-utils
Just some useful addons for actix web
-
enser
Enum serialization with tag
-
diesel-enum-sqltype
derive macro for FromSql and ToSql traits for postgres enums
-
enumx
Ad-hoc enum extension
-
gull
type generation
-
erm
A five-way enum to express uncertainty
-
big_enum_set
creating sets of enums with a large number of variants
-
flexpiler
Deserialiser aiming at high customizability
-
bson_comp
A derive macro that implements
Into<bson::Bson>for a struct or enum -
derive-termination
Derive the std::process::Termination trait for an enum (annotate the variants with
#[exit_code(n)) -
enum_variant_accessors
derive macros to generate is_*, as_* and as_*_mut accessors for enum variants
-
iter-n
functions returning impl Iterator to return one of several distinct types
-
enum_reflect
Enums reflection library
-
uniasset
Unity ScriptableObject manipulation in Rust
-
anon_iter
Return different Iterator types from function returning
-> impl Iterator -
treeerror
macros for generating trees of enums, as well as
Fromimplementations converting between them. Primarily intended for error handling. -
phenotype-internal
Defines
Phenotypetrait forPeapodcrate -
enum-unitary
Trait and macro for unitary enums
-
stateless
A lightweight, zero-cost state machine library that separates structure from behavior. Guards and actions live in wrapper code, not the DSL
-
enum_builder
macros that allow building enum types from variants that can be defined in multiple dispersed files in the crate
-
enum_macros
A collection of useful macros to make working with enums easier
-
random_variant
To be used with all variant, contains the derive macro
-
bitmask
generator for enum scoped bit flags
-
match-commutative
Match on patterns commutatively, reducing the use of duplicated patterns. ↔️
-
enum_delegate
Easily replace dynamic dispatch with an enum, for speed and serialization
-
enum_from_derive
Implement From For the Enumeration
-
enum-kinds
Generate enums with matching variants but without any of the associated data
-
tagged_delegate
Builds a delegate macro on enums where each variant contains a value that implements the same trait
-
symbols-models
Proc-macro utility to populate enums from database data (shared traits)
-
variant_counter
Rust's Enum variant counter
-
bitbag
A useful struct for dealing with bit flags
-
enum-ref
Proc. macro for generating enum discriminant types.
-
frunk-enum-derive
Derive macros to implement the frunk::LabelledGeneric trait on enums
-
static-dispatch
Implement a trait for an enum, where all variants implement the trait
-
diesel-enum-case
Interop between your enums and your database with diesel, with customizable case conversion for string enums
-
tri_ton
A Macro for Handling Exceptions
-
enumrs
A derive for adding arbitrary values to enums
-
lachs
automatically creating a lexer based on a given enum
-
enum-primitive-derive
enum_primitive implementation using procedural macros to have a custom derive
-
abienum
underlying types for C enums
-
maybe-uninit
MaybeUninit for friends of backwards compatibility
-
enum_properties
A macro for declaring static properties on enum variants
-
this-error-from-box
Generates From impls for boxed thiserror enum variants
-
simplerror
A zero-dep macro to declaratively define error enum types and their common trait implementations
-
prost-enum
Enhance Enums of prost generated files to support serde and sea-orm
-
enum_handler
A macro to generate a handler trait for enums variants
-
impl_index
Macro for deriving the Index trait
-
serde_literals
Support for serialising and deserialising literals directly into enum unit variants
-
utoipa_repr
Derive utoipa::ToSchema that uses underlying integer representation of enum for schema generation
-
encap_enum
A non-verbose way to define a group of constants and bit flags
-
plain_enum
Mimicing Java's enum::values() and EnumMap
-
inst_derive
Derive macro for tagged union enums implementing the Instantiable trait in safety-net
-
type_enum
Create tagged unions consisting of different types
-
embedded_commands_rs
Lightweight, embeddable command interpreter for Rust
-
class-enums
that stores enum variants with their own structs with an optional base struct
-
discrimin-ant
A tiny crate to make working with discriminants easier
-
enum-repr
Derive enum repr conversions compatible with type aliases
-
enum_parity
a macro that enforces enum discriminant bit parity
-
derive-name
Derive macro to get the name of a struct, enum or enum variant
-
custom_attrs
that allows you to configure values specific to each variants of an enum
-
litenum
minimal convertion utilities between literal and enum
-
rsmack-seanum
Enhanced documentation macro with constant evaluation
-
enum_variant_type
Generates types for each enum variant and conversion trait impls
-
temporary_enum_delegate_0_3_0
trait delegation functionality for enums and structs
-
flat_enum
Expand nested enum into flattened enum
-
vec-of-enum
Helper macros for a Vec of enum values
Try searching with DuckDuckGo.