-
strum
macros for working with enums and strings
-
num_enum
Procedural macros to make inter-operation between primitives and enums easier
-
either
The enum
Either
with variantsLeft
andRight
is a general purpose sum type with two cases -
enumflags2
Enum-based bit flags
-
enum-map
A map with C-like enum keys represented internally as an array
-
synstructure
Helper methods and macros for custom derives
-
enum-iterator
Tools to iterate over all values of a type (e.g. all variants of an enumeration)
-
serde-untagged
Serde
Visitor
implementation for deserializing untagged enums -
flagset
Data types and a macro for generating enumeration-based bit flags
-
enumset
creating compact sets of enums
-
derive_utils
A procedural macro helper for easily writing derive macros for enums
-
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
-
auto_enums
allow multiple return types by automatically generated enum
-
packed_struct
Binary-level structure packing and unpacking generator
-
spirv
Rust definition of SPIR-V structs and enums
-
thiserror-no-std
derive(Error)
-
enum-as-inner
A proc-macro for deriving inner field accessor functions on enums
-
parse-display
Procedural macro to implement Display and FromStr using common settings
-
specr-transpile
Converts Specr lang code to Rust
-
smart-default
Rust custom-derive macro for Default with more control on the fields
-
tor-error
unified type-erased error type returned by many (esp. high-level) Tor APIs.
-
serde_variant
Retrieve serde provided variant names for enum objects
-
parse-variants
Derive the syn::parse::Parse trait for enumerations and use it to comfortably parse a variant of the enumeration
-
try_match
Fallible pattern matching with a function-like syntax
-
rbx_reflection
Roblox reflection database and ambiguous type resolution
-
remain
Compile-time checks that an enum, struct, or match is written in sorted order
-
borsh-derive
Binary Object Representation Serializer for Hashing
-
caret
Macros for declaring non-exhaustive C-style enumerations, with named members
-
tinkoff-invest
tinkoff invest library
-
strum_macros
macros for working with enums and strings
-
void
The uninhabited void type for use in statically impossible cases
-
proc_macro_roids
Traits and functions to make writing proc macros more ergonomic
-
aargvark
Self-similar argument parsing
-
papergrid
core library to print a table
-
artnet_protocol
A 1:1 implementation of the ArtNet protocol
-
open-enum
An attribute for generating "open" fieldless enums, those that accept any integer value, by using a newtype struct and associated constants
-
enum-assoc
Procedural macro to associate constants with enum variants
-
exhaust
Trait and derive macro for working with all possible values of a type (exhaustive enumeration)
-
nominals
formatting nominal indicators in various systems (e.g., roman numerals)
-
is-macro
Derive methods for using custom enums like Option / Result
-
enum-ptr
Ergonomic tagged pointer
-
io-enum
#[derive(Read, Write, Seek, BufRead)] for enums
-
const-serialize
A serialization framework that works in const contexts
-
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…
-
checked-rs
encoding validation semantics into the type system
-
enum-display
A macro to derive Display for enums
-
proc-easy
Macros to make writing proc-macro crates easy
-
random_variant
To be used with all variant, contains the derive macro
-
enum-derive-2018
macros for deriving additional functionality for enums
-
portable_atomic_enum
An attribute to create an portable atomic wrapper around a C-style enum
-
tisel
Effective type-based pseudodynamic dispatch to impls, enums and typeid
-
int-enum
A derive macro for conversion between integer and enum types
-
enum-collections
Collections data structures optimized for Enum, initializable at runtime
-
syn-helpers
Framework for building derive macros
-
tf2-enum
enumerated types for models related to the Team Fortress 2 item schema
-
enumeration
An extension to rust enum
-
ordinal-map
Ordinal trait to map values to integers and efficient maps and sets for such types
-
among
The enum
Among
with variantsLeft
,Middle
andRight
is a general purpose sum type with three cases -
codesort
sorts code
-
cfg_eval
#[cfg_eval]
in stable Rust 🙃 -
csvenum
Generate code for enums with associated constants from a .csv in your command line
-
safe_math
Math without overflow, creates an enum and a macro to help mitigate any overflow while multiplying and adding
-
windows-timezones
Windows timezone list from the Unicode CLDR project
-
c-enum
A macro to generate c-like enums
-
enumoid
Enum Indexed Containers
-
kinded
Generate enums with same variants, but without data
-
EnumBitFlags
EnumBitFlags is an implementation of flags support for enums
-
result-like
Option/Result-like monad interface for your own enum
-
hoicko_lib
Hoicko library
-
reqwest-enum
Typed enum HTTP API for reqwest
-
ctrlgen
Generate enums for message-passing services
-
belnapian
Belnap's 4-valued logic basic building blocks in Rust
-
any-range
AnyRange<T> enum can hold any Range*<T> type
-
quick-error
A macro which makes error types pleasant to write
-
mago-token
Defines the data structures and enumerations representing PHP tokens
-
erased-discriminant
Type-erased version of core::mem::Discriminant<T>
-
linearize
Types that are enumerable and an array-backed map
-
atomic_enum
An attribute to create an atomic wrapper around a C-style enum
-
sumtype
Generate zerocost sumtype of iterators or closures
-
craftflow-nbt
A serde-based NBT (from Minecraft) binary format implementation
-
enum_cycling
Small macro for working with enums
-
enum_meta
Add metadata to Enum Variants
-
enumcapsulate
Safe casting for newtype enums and their variants
-
dtype_dispatch
Macro builder for working with data types
-
iso639-1
enum and utils
-
enum2egui
derive macro that creates a set of egui ui databindings from arbitrary data structures. Supports egui v0.29.1
-
termite-dmg
Termite Data Model Generator is a crate meant to generate boiler plate code for data models
-
from_variants
Rust macro to automatically generate conversions for newtype enums
-
actix-error
handle REST errors, with a derive macro to generate the error type. It also provides a compatibility layer with actix-web.
-
as_variant
macro to convert enums with newtype variants to
Option
s -
indexed_valued_enums
Create enums resolving into values, and get their variants back through their values or their discriminant, inspired by Java
-
ssmarshal
Stupid simple value-only marshaling using serde
-
symbols
Proc-macro utility to populate enums from database data
-
file_type_enum
An enum with a variant for each file type
-
declarative_type_state
A collection of declarative macros to reduce boilerplate code when implementing type-state patterns
-
penum
Make enum conform to a given pattern
-
serde-double-tag
double tagged enum representation for
serde
-
terra-items
enum contatining terraria items and prefixes
-
extendable-data
A set of rust macros that allows you to specify data that can be "extended" or inherited from
-
derive_util
tools for derive macros
-
tri_ton
A Macro for Handling Exceptions
-
ptr-union
Pointer union types the size of a pointer by storing the tag in the alignment bits
-
namewise
Derived trivial name-wise conversions for Rust types
-
primitive-from-enum
macros for get primitive enum from complex
-
jkcenum
Rust enum library
-
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
-
serde_literals
Support for serialising and deserialising literals directly into enum unit variants
-
bitbag
A useful struct for dealing with bit flags
-
linktype
publicly managed enum for different link types present in PCAP files
-
derive-insert
GetOrInsert
trait for enums and its derive macro -
woah
A Result type that differentiates between local errors (which can be handled) and fatal errors (which cannot)
-
leap-lang
Leap language parser
-
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)
-
thiserror_string_context
Adds context string to error enums generated with thiserror
-
quick-error2
A macro which makes error types pleasant to write
-
country-code-enum
Copyable Serde and Sqlx compatible country codes
-
declarative_enum_dispatch
Declarative macro generating boilerplate for enum dispatch
-
methods-enum
Two macros for easy implementation of 'state' design pattern and other dynamic polymorphism using enum instead of dyn Trait
-
terra-items-xbox360
enum contatining xbox 360 terraria items and prefixes
-
enum_handler
A macro to generate a handler trait for enums variants
-
argcall
Enables enums and structs to be callable by associating functions with their variants or fields
-
thisenum
Assign constant literals to enum arms
-
enumscribe
Derive macros for converting between enums and strings
-
valorant_api_official
interacting with the Official Valorant API
-
takeable
Container type that allows for temporarily moving out of the container, or permanently moving out and invalidating the container
-
symbols-models
Proc-macro utility to populate enums from database data (shared traits)
-
strunemix
allows to build a struct with a form of its fields, by deriving enums of them
-
enum_downcast
Safe downcasting for enums
-
varflags
exporting varflags macro, allowing to use unit-like enums in conjunction with Varflags struct to create easy to use bitflags data structure defined over enum variants
-
rustalize
Rustalizer is a powerful tool designed to help developers analyze complex Rust code structures. It provides a simple Abstract Syntax Tree (AST) parser that can break down Rust traits…
-
nest_struct
Nest struct and enum definitions with minimal syntax changes
-
binarybit
Boolean algebra operations in Rust
-
toolshed
Arena allocator and a handful of useful data structures
-
flagger
Enum flag generator
-
cloneless_cow
A greatly-reduced implementation of Cow that does not require T to be Clone but allows for storing either a reference or an owned instance for future needs of references to T
-
enum-variants-strings
Derive macro for converting instances of enums to and from strs using variant names
-
enum_stringify
Macro to generate string conversion functions for enums
-
lachs
automatically creating a lexer based on a given enum
-
iced_file_tree
A lightweight file tree widget for the iced toolkit
-
orio
Small serialization library
-
unit-enum
A procedural macro for deriving ordinal methods in unit-like enums for Rust
-
steam-language-gen
Generate Rust bindings to Steam enums and messages
-
enum_ext
procedural macro that enhances enums with additional methods and conversions
-
inarybay
Graph-based binary format (de)serializer generator
-
bit_roles
Granular role management based on bit flags
-
enpow
Generating methods for user defined enums as known from Option<T> or Result<T, E>
-
fieldmask
(de)serializing/applying fieldmask
-
nfc1
High-level safe Rust bindings for libnfc
-
yikes-intenum
Augment integer-based enums with an unknown variant; a macro that makes you say "yikes!"
-
plectrum
An easy way to represent lookup tables in a db as rust enums
-
ename
get name of enum variant by enum value
-
nameth
macro to generate a static &str representing the name of a function, a struct or an enum
-
serde-enum-str
Serialize and deserialize enum string
-
bogdan_hello_macro
adds the method hello_macro that generates a greeting based on the name of the struct
-
libipld-cbor
ipld cbor codec
-
variant-set
A set-like data structure for enum variants, allowing you to store at most one value for each variant of an enum
-
frunk-enum-core
Implemenation of genericized enums for use with frunk
-
derive_variants
derives an additional enum from a nested enum that contains only variants and no nested fields
-
lucide-floem
lucide icon library for floem
-
jdt_maybe_multiple
MaybeMultiple is a utility crate that establishes an enum to use in place of
Option
where the content may be singular, multiple, or None -
statum
Compile-time state machine magic for Rust: Zero-boilerplate typestate patterns with automatic transition validation
-
dare
daring flexible data representation
-
structural
Field accessor traits,and emulation of structural types
-
http_codex
easy HTTP code management
-
futures-enum
#[derive(Future, Stream, Sink, AsyncRead, AsyncWrite, AsyncSeek, AsyncBufRead)] for enums
-
filterable-enum
generating filterable enums (Combining bitflags and discriminated unions)
-
enum-primitive-derive
enum_primitive implementation using procedural macros to have a custom derive
-
peapod
Ultra-compact storage for enums
-
addr_of_enum
Get address of fields in enum item using stable Rust
-
intuple
Convert structs and enums into tuples (of refs) and back - recursive, ignore fields
-
confiner
A config language for things that look like trees
-
env-type
define environment variables as types
-
libeither
Either struct for Rust
-
supply-chain-trust-example-crate-000044
The enum
Either
with variantsLeft
andRight
is a general purpose sum type with two cases -
dade
data definition for Rust structures
-
enum_ids
Generate a companion ID enum and an associated getter method for the annotated enum
-
typeful
A collection of helper derive macros for type patterns
-
safe-discriminant
A minimalistic,
no_std
compatible trait and procedural macro for extracting discriminants from enums at zero cost -
enumchar
Rust derive macro for enums where each variant is represented by a single char
-
trait-enumizer
Proc macro to automatically generate enum based on method signatures (with appropriate helpers)
-
enum-tag
Proc. macro for generating enum discriminant types.
-
actix-web-utils
Just some useful addons for actix web
-
json-filter
filtering JSON values using simple query structs / enums
-
big_enum_set
creating sets of enums with a large number of variants
-
gull
type generation
-
serde-struct-tuple-enum
Procedural macro for deserializing an enum of structs from tuples
-
custom_codes
uniform response and error codes backed by enums
-
summum-types
A sum-type macro crate with all the conversions, accessors, and support for abstract methods across variants, and interoperability between sum-types
-
mabe
framework for creating debug-friendly error enums in Rust
-
rusk_crate
SOmething is not wrong
-
enum-unit
Generates unit-variant enums from existing enums
-
axum-routes
Create an axum Router from an enum and resolve routes
-
ferment
Syntax tree morphing of FFI-compatible stuff
-
type_reflect
Extensible runtime reflection through a Derive macro
-
iter-n
functions returning impl Iterator to return one of several distinct types
-
endex
get index of enum variant by enum value
-
sneks
macros for naming enum variants
-
packet_enum
Full implementation for packet_enum
-
enum_desc
A set of column-derived macros is provided to add descriptive information to enumerations and translate enumeration codes
-
inttype-enum
Converts an [
enum
] into an [inttype
], and try to convert it back -
enumx
Ad-hoc enum extension
-
vnum
Create enums with a constant value associated to every variant
-
persia-speedy
A fast binary serialization framework
-
tlbf
Type level bitflags
-
litenum
minimal convertion utilities between literal and enum
-
prost-enum
Enhance Enums of prost generated files to support serde and sea-orm
-
diesel-enum
Interop between your enums and your database with diesel
-
enser
Enum serialization with tag
-
bitmask
generator for enum scoped bit flags
-
valued-enums
Macros collection and specify trait for creating valued or python-like enums
-
enum-unitary
Trait and macro for unitary enums
-
boolean-enums
Generate enums with Yes and No variants. Supports no_std and serde.
-
variantly
Derive helper methods for enum variants that are familiar from
std::option::Option
&std::result::Result
such asunwrap_or
orand_then
-
clipv
Command line interpretor parser (and future validator)
-
encap_enum
A non-verbose way to define a group of constants and bit flags
-
enum_from_derive
Implement From For the Enumeration
-
enum-kinds
Generate enums with matching variants but without any of the associated data
-
unwrap-enum
generate methods to access enum variants
-
enum_derive
macros for deriving additional functionality for enums
-
match-commutative
Match on patterns commutatively, reducing the use of duplicated patterns. ↔️
-
case_iterable
A procedural macro to iterate over enum variants, ala Swift's CaseIterable
-
ni-fpga
Safe Rust interface to NI FPGAs with FXP support
-
enum_macro_gen
Macro generator for handling enums
-
diesel-enum-sqltype
derive macro for FromSql and ToSql traits for postgres enums
-
enum-ref
Proc. macro for generating enum discriminant types.
-
small-num
Small crate used to create small numbers optimally
-
variant_counter
Rust's Enum variant counter
-
tlkit
Tool Kit integration
-
coded
concrete error type with an
ErrorKind
enum matching Google’s “canonical error codes” -
serde_sated
sane adjacently tagged enum deserialization (with untagged variant) for serde
-
enum_properties
A macro for declaring static properties on enum variants
-
derive-debug-plus
Customizable derive macro for Debug trait
-
xconstants
Adds preliminary support for enum const generics
-
enum-repr
Derive enum repr conversions compatible with type aliases
-
enum_inject
Implement inject For the Enumeration
-
enum-mapping-macro
Maps enum variants to numbers and viceversa
-
rigz_error
Includes the definition of the RigzError enum
-
eventree
creating lossless syntax trees
-
brug
enum command generation for implementation blocks
-
custom_attrs
that allows you to configure values specific to each variants of an enum
-
enum_macros
A collection of useful macros to make working with enums easier
-
variant_count
Derive macro for enum which adds to it the count of variants
-
axum-enum-response
Easily create axum::http::Response's from Enums!
-
complex-enum-macros
Convert enums with non-unit variants to privitives
-
enum_to_vec
Enum to vec
Try searching with DuckDuckGo.