#enums

  1. strum

    macros for working with enums and strings

    v0.28.0 31.3M #proc-macro #enums-string #string #enums #string-macro
  2. num_enum

    Procedural macros to make inter-operation between primitives and enums easier

    v0.7.6 11.1M #convert #ffi #safe #safe-ffi #enums
  3. synstructure

    Helper methods and macros for custom derives

    v0.13.2 40.2M #macro-derive #syn #enums #expand-substructure
  4. enumflags2

    Enum-based bit flags

    v0.7.12 5.8M #bit-flags #enums #bitflags
  5. enumset

    creating compact sets of enums

    v1.1.12 2.3M #bit-set #enums #bitset
  6. enum-map

    A map with C-like enum keys represented internally as an array

    v3.0.0-beta.2 2.3M #enums #no-std
  7. enum-iterator

    Tools to iterate over all values of a type (e.g. all variants of an enumeration)

    v2.3.0 2.3M #iterator #cardinality #enums #enumerate
  8. spirv

    Rust definition of SPIR-V structs and enums

    v0.4.0+sdk-1.4.341.0 1.5M #enums #struct
  9. flagset

    Data types and a macro for generating enumeration-based bit flags

    v0.4.7 2.5M #enums #bitflags #enumflags
  10. 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

    v4.3.2 6.0M #ordinal #ordinalize #enums #numbers
  11. prost-build

    Generate Prost annotated Rust types from Protocol Buffers files

    v0.14.3 18.1M #protobuf #protoc #prost #collection #enums #cargo-build #proto-file
  12. derive_utils

    A procedural macro helper for easily writing derive macros for enums

    v0.15.1 1.3M #proc-macro #macro-derive #macro-helpers #enums
  13. auto_enums

    allow multiple return types by automatically generated enum

    v0.8.8 1.0M #macro-derive #enums #no-alloc
  14. serde_variant

    Retrieve serde provided variant names for enum objects

    v0.1.3 227K #enum-variant #enums #serde #serialization
  15. kinded

    Generate enums with same variants, but without data

    v0.5.0 127K #macro-derive #enums #kinds
  16. caret

    Macros for declaring non-exhaustive C-style enumerations, with named members

    v0.9.0 91K #enums #macro
  17. bitflagset

    Enum and positional typed bitsets with Set API

    v0.0.3 10K #bit-set #bit-vec #bit-flags #enums #api #atomic-u64 #set-operations #repr-transparent #positional #bit-operator
  18. ordinal-map

    Ordinal trait to map values to integers and efficient maps and sets for such types

    v0.1.10 238K #map-set #ordinal #integer #enums
  19. argyle

    A lightweight, agnostic CLI argument parser

    v0.15.0 82K #arguments-parser #enums #macro #generating #deps #cli-arguments #stderr
  20. as_variant

    macro to convert enums with newtype variants to Options

    v1.3.0 76K #newtype #enums #macro
  21. derive-new

    #[derive(new)] implements simple constructor functions for structs and enums

    v0.7.0 1.4M #struct #constructor #derive #enums #default
  22. try_match

    Fallible pattern matching with a function-like syntax

    v0.4.2 79K #match-enums #enums #match-variant #macro #macro-variant #pattern-match
  23. thiserror-no-std

    derive(Error)

    v2.0.2 108K #error-handling #enums #struct #io #macro-derive
  24. result-like

    Option/Result-like monad interface for your own enum

    v0.5.1 29K #enums #monads #macro #options #result
  25. parse-variants

    Derive the syn::parse::Parse trait for enumerations and use it to comfortably parse a variant of the enumeration

    v1.0.8 14K #enums #speculative #either
  26. enum-display

    A macro to derive Display for enums

    v0.2.1 193K #enums #macro-derive #display
  27. rbx_reflection

    Roblox reflection database and ambiguous type resolution

    v6.1.0 7.0K #roblox #reflection #properties #enums #database #serialization
  28. enum-assoc

    Procedural macro to associate constants with enum variants

    v1.3.0 179K #enum-variants #constant #enums
  29. enum-table

    creating tables with enums as key

    v3.0.0 900 #hash-map #enums
  30. packed_struct

    Binary-level structure packing and unpacking generator

    v0.10.1 687K #bit-packing #enums #packing #serialization
  31. vst3

    Rust bindings for the VST 3 API

    v0.3.0 5.9K #bindings #bindings-for-vst #object #namespaces #enums #guid #iid #struct-definition
  32. open-enum

    An attribute for generating "open" fieldless enums, those that accept any integer value, by using a newtype struct and associated constants

    v0.5.2 103K #enums #newtype #open #integer
  33. tinkoff-invest

    tinkoff invest library

    v2.34.0 #tinkoff #invest #order-book #figi #enums #candlestick #market-data #cache
  34. linearize

    Types that are enumerable and an array-backed map

    v0.1.6 3.7K #data-structures #enums
  35. repack

    Powerful model codegen

    v0.99.0 800 #blueprint #codegen #enums #schema-definition #struct-fields #template-engine #typescript #snippets #data-model #inheritance
  36. dtype_dispatch

    Macro builder for working with data types

    v0.2.1 138K #dtype #enums #generic #dispatch
  37. spire_enum

    Procedural macros to facilitate enum usage, such as when delegating implementations, extracting variant types, or creating enum tables

    v1.0.0 3.6K #enum-variant #enums #traits #macro-traits #no-alloc
  38. iter-enum

    #[derive(Iterator, DoubleEndedIterator, ExactSizeIterator, Extend)] for enums

    v1.2.1 53K #derive #enums #iterator #derive-enums #no-alloc
  39. among

    A general purpose sum type with three cases: the enum Among with variants Left, Middle and Right. A three-way counterpart to Either, with no_std, serde, futures and tokio integrations.

    v0.2.0 2.0K #sum-types #enums #no-std #either
  40. subenum

    A proc-macro to create subsets of enums, that can be converted to and from

    v1.2.0 115K #proc-macro #no-std #enums
  41. bitflag-attr

    A macro to generate bitflags structures from C-like enums

    v0.13.0 #bit-flags #bitmask #enums #bitflags
  42. is-macro

    Derive methods for using custom enums like Option / Result

    v0.3.7 2.4M #enums #generics #information
  43. serde-implicit

    the serde(untagged) you wish you had

    v0.3.1 2.0K #enums #untagged #tagged #content #deserialize #serde #serde-derive #error-message
  44. io-enum

    #[derive(Read, Write, Seek, BufRead)] for enums

    v1.2.1 132K #bufread #derive #enums #derive-enums #io
  45. gratte

    macros for working with enums and strings; forked from strum

    v2.0.0 600 #proc-macro #enums-string #string #enums #string-macro
  46. wasm-wave

    WebAssembly Value Encoding

    v0.249.0 94K #encoding #record #enums #arguments #wave #component-model #wasm #nan #multi-line #wit
  47. marque-ism

    ISM vocabulary types, generated CVE enums, and Span for marque

    v0.2.1 #enums #cve #vocabulary #ism #generated #schema-version #marque #classification #capco #markings
  48. either-or-both

    The enums EitherOrBoth with the three variants Left, Right, Both and Either with the Left and Right variants

    v0.3.1 4.0K #enums #no-std #data-structures
  49. boolean-enums

    Generate enums with Yes and No variants. Supports no_std and serde.

    v0.4.1 9.0K #yes-no #enums #boolean #bool
  50. peel-off

    Peel off a specific variant from a Rust enum, splitting it into the extracted variant and the residual

    v0.1.1 22K #enum-variants #error-handling #pattern-matching #enums
  51. sumtype

    Generate zerocost sumtype of iterators or closures

    v0.2.6 #zero-cost #iterator #enums #union-types #macro #no-alloc
  52. loft

    embedded scripting language

    v0.0.1-alpha.22 1.3K #embedded-scripting #interpreter #enums #macro #performance-optimization #garbage-collection #help-improve #ownership-and-borrowing #pattern-matching
  53. 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

    v0.0.14 100 #pattern-matching #enum-variant #type-safety #enums
  54. serde_dms

    Serde Deserializer for DMS

    v0.5.4 #dms #deserializer #deserialize #optional-fields #enums #serde-json #realistic
  55. dang-yang

    A practical yang parser that allows custom type extension and definitions at build time

    v0.0.3 #codegen #typedef #yang #define #enums #source-file #ip-address #type-registry #data-modeling
  56. frozone

    Freeze structs and enums in time

    v0.4.1 7.6K #struct #freeze #enums #recursion #freezable #deserialize #tree-structure #backward-compatibility #serialization #enforcing
  57. hailort-sys

    Raw FFI bindings to the HailoRT C runtime library

    v0.1.1 #run-time #opaque-handle #raspberry-pi #enums #bindings #notifications #artificial-intelligence #hat #type-aliases #error-code
  58. from_variants

    Rust macro to automatically generate conversions for newtype enums

    v1.0.2 45K #enum-variants #enums #newtype #convert #automatic
  59. enum-collections

    EnumMap implemented in safe rust

    v2.0.0 160 #hash-map #enum-map #collection #enums
  60. ptr-union

    Pointer union types the size of a pointer by storing the tag in the alignment bits

    v2.3.0 2.4K #pointers #enums #thin-pointers #union
  61. benzina

    Various helper types and macros for diesel

    v0.5.1 600 #macro #json #postgresql #diesel #enums
  62. codama-syn-helpers

    Extension of syn for Codama

    v0.9.2 3.9K #codama #syn #file #helper #enums #proc-macro #korok
  63. pyenum

    Expose Rust enums to Python as real enum.Enum subclasses via PyO3

    v0.0.4 #enums #pyo3 #python #derive #api-bindings
  64. binmarshal

    Pack and unpack structs and enums into and out of binary data streams

    v1.1.7 2.0K #pack-unpack #data-stream #binary-data #struct #enums
  65. sage-lexer

    Lexer for the Sage language

    v0.5.2 #sage #lexer #agent #first-class #enums #citizens #programming-language
  66. variant_count

    Derive macro for enum which adds to it the count of variants

    v1.2.0 214K #enums #count
  67. 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.

    v0.5.1 260 #iterator #enumerate #utility
  68. zugferd-code-lists

    ZUGFeRD code lists, e.g. languages enum, currencies enum, countries enum, etc.

    v0.1.19 #enums #zug-fe-rd #factur-x #code-lists
  69. litty

    Literally adds literals to Rust

    v0.3.0 #literals #enums #serialization #serde #struct-fields
  70. enum_variant_type

    Generates types for each enum variant and conversion trait impls

    v0.4.0 22K #enum-variant #type #enums
  71. hodgepodge

    Lightweight dataset crate of enums for prototyping, teaching, and experimentation

    v0.2.0 #enums #dataset #teaching #prototype #education
  72. nutype-enum

    Helper macro to create a nutype that behaves like an enum

    v0.1.5 7.5K #enums #nutype
  73. enumeration

    An extension to rust enum

    v3.3.2 1.0K #enums #extension
  74. VersaLogrs

    Versatile logging library

    v2.0.0 #versalogrs #logging #versa-log #save #versatile #enums #meet
  75. wyre

    wyre serialization and deserialization library

    v0.2.16 850 #messagepack #serialization #enums #accounting #vec
  76. struct-to-enum

    Derive macros to generate enums from struct fields - compile-time safe field selection and dispatch

    v1.1.2 #macro-derive #struct-fields #enums
  77. terra-items

    enum contatining terraria items and prefixes

    v0.4.0 #prefix #item #terraria #enums
  78. steam-enums

    Steam protocol enumerations (EResult, EMsg, EAccountType, etc.) for Rust

    v0.1.2 #steam #enums #api-bindings
  79. looking-glass

    reflection & type-erasure library for Rust

    v0.1.4 10K #instance #protobuf #enums #typed #type-erasure
  80. sigma-enum

    A macro to simulate sigma types with enums

    v0.1.2 #enums #derive #dependent-types
  81. frunk-enum-core

    Implemenation of genericized enums for use with frunk

    v0.3.0 5.9K #frunk #enums #data-structures #define #representation #implemenation
  82. pattern-wishcast

    Pattern types emulation for conditional variants using conditional never types

    v0.0.1-pre.7 #pattern #conditional #unstable #variant #enums #emulation #proc-macro #subtyping #expression-evaluator #upcasting
  83. enum-derived

    Generate random instances of your enums and structs

    v0.9.2 5.2K #random #enums #struct #derive
  84. matched_enums

    A macro that provides the option to bin enum attribute to match-statements. This makes it easier to convert values into enums.

    v1.3.0 230 #proc-macro #enums #macro
  85. serde_content_ref

    Serde deserializer for reference content

    v0.1.0 1.1K #deserialize #content #reference #deserializer #enums
  86. penum

    Make enum conform to a given pattern

    v0.1.30 1.6K #proc-macro #shape #enums #pattern
  87. enum_dict

    Efficient enum-indexed dictionaries

    v0.7.0 #dictionary #enum-indexed #enums #key-value #derive #serde #color-blue #color-red
  88. serde_literals

    Support for serialising and deserialising literals directly into enum unit variants

    v0.1.3 #literals #enums #serde
  89. enumcapsulate

    Safe casting for newtype enums and their variants

    v0.6.3 #newtype #cast #enums #encapsulation
  90. atomic_enum

    An attribute to create an atomic wrapper around a C-style enum

    v0.3.0 246K #atomic #enums
  91. omcp

    functions

    v0.2.0 #input-schema #mcp #properties #json-rpc #enums #mcp-server #todo-list #weather
  92. axum-routes

    Create an axum Router from an enum and resolve routes

    v0.2.3 280 #axum-router #enums #resolve #routes #linker #trace-layer #serde-json #tower-http #removing #web-apps
  93. babel

    Provide Rust enums for Groq, SambaNova, Openrouter's llm model names

    v0.0.11 500 #llm-model #groq #enums #name #openrouter #llm-provider #model-name
  94. aargvark

    Self-similar argument parsing

    v0.9.6 1.3K #arguments-parser #command-line-arguments #shell-completion #enums #vec #command-line-output #self-similar
  95. terra-items-xbox360

    enum contatining xbox 360 terraria items and prefixes

    v0.2.0 #prefix #item #xbox #terraria #enums #360
  96. baxe

    that simplifies error handling in Axum

    v0.1.6 650 #axum #error #back-end #enums #error-logging #error-response #json-error #define-error #email-validation #error-handling
  97. bevy_state_plugin_generator

    A build-dependency that generates a Bevy State Plugin from a simple state definition

    v1.4.4 #state-plugin #bevy-plugin #generator #define #enums #build-dependency
  98. quick-error

    A macro which makes error types pleasant to write

    v2.0.1 14.3M #macro-error #enums #macro #type
  99. ai-quick-error

    A no_std fork of quick-error

    v2.0.1 #enums #macro-error #macro #type
  100. enumorph

    Derive macro to generate TryFrom and From implementations for converting between newtype enum variants and their wrapped values

    v0.1.3 350 #macro-derive #newtype #enums #convert #try-from
  101. static-dispatch

    Implement a trait for an enum, where all variants implement the trait

    v0.3.0 #enums #enum-variants #traits #static #dispatch #macro-rules
  102. enumscribe

    Derive macros for converting between enums and strings

    v0.4.0 650 #enums-string #serde-derive #enums
  103. 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

    v0.1.13 #json #reference #maybe-reference #enums #establishes #uuid
  104. tf2-enum

    enumerated types for models related to the Team Fortress 2 item schema

    v0.13.0 750 #team-fortress #steam #tf2 #enums
  105. enum-update

    representing state changes as enums

    v0.2.0 #proc-macro #state #enums
  106. enumoid

    Enum Indexed Containers

    v0.4.0 #enums #flags #map #vector
  107. axum-query-list

    QueryList extractor for axum — deserialize Vec<Enum> from query strings with optional cap

    v0.1.1 #deserialize #axum #extractor #enums #axum-extractor
  108. quither

    A flexible enum-based utility for representing values that may be on the left, right, neither, or both sides

    v0.7.0 600 #enums #either
  109. indexed_valued_enums

    Create enums resolving into values, and get their variants back through their values, their discriminant or their name; inspired by Java

    v2.0.0 #enums #discriminant #enums-discriminant #valued #no-alloc
  110. rustc-ap-rustc_lexer

    Automatically published version of the package rustc_lexer in the rust-lang/rust repository from commit 9a27044f42ace9eb652781b53f598e25d4e7e918 The publishing script for this crate lives at: https://github…

    v727.0.0 198K #rustc-lexer #rustc-auto-publish #syntax #lexemes #enums #e7e918 #52781b53f598e25d #9a27044f42ace9eb
  111. ffi-enum

    Simply write and use enums like rust native enums, freely passing through ffi

    v0.1.5 #enums #c-abi #derive-enums #ffi #derive
  112. enum-ptr

    Ergonomic tagged pointer

    v0.2.0 900 #tagged-pointers #tagged #enums #pointers
  113. error-enum

    Provide a easy way to define an enum that represents errors with error codes, document comments and several other functionalities

    v1.0.0-alpha.6 #enums #error-derive #tree #derive-enums
  114. plectrum

    An easy way to represent lookup tables in a db as rust enums

    v0.2.0 #lookup-tables #enums
  115. 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

    v0.1.7 #content #enums #maybe-multiple #place-of-option #establishes #uuid
  116. bitsong

    Fast #[no_std] macro-based serialization/deserialization

    v0.1.3 #binary-encoding #serialization #macro-based #enums #allocation #enums-discriminant #no-panic
  117. data-classes

    Abbreviation of #[derive(xxx)]

    v0.0.0-19 #data #rkyv #derive #bytemuck #enums #xxx #default-impl #hash #partial-eq #macro-attributes
  118. dispatch_map

    Type-safe, declarative dispatch maps for Rust configuration with automatic glue and zero boilerplate

    v0.1.3 110 #deserialize #enums #config #serde #map
  119. maybe-valid

    Traits and outcome enums for structural validation/refinement conversions

    v0.1.0 #validation #refinement #enums #string-conversion #traits #canonical #precursor #borrowing
  120. delegation

    Macro-based delegation for enums and structs

    v0.4.0 110 #enums #optimization #dispatch #delegate
  121. diesel-enums

    🔢 Seamless mapping between rust enums and custom postgres types or regular lookup tables, with automatically generated consistency checks

    v0.2.2 #postgresql #mysql #enums #diesel
  122. erased-discriminant

    Type-erased version of core::mem::Discriminant<T>

    v1.0.1 108K #discriminant #type-erased #core-mem #version #enums
  123. deltoid

    calculate and apply deltas to structs and enums

    v0.12.0 #calculate-delta #enums #define #struct #tree #delta-compression #deeply-nested #deserialize #receiving #bandwidth
  124. inttype-enum

    Converts an [enum] into an [inttype], and try to convert it back

    v0.2.2 500 #enums #convert #inttype #back #try
  125. tggen

    A mildly competent autogenerated telegram bot api wrapper (helper crate)

    v0.0.78 #telegram-bot #bot-api #botapi #auto-generated #enums #competent #serialization #serde #rate-limiting #webhook
  126. 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…

    v0.2.1 #enums #rails #postgresql #ruby
  127. minecraft-version

    Exhaustive enum of Minecraft versions

    v0.1.1 #minecraft #enums
  128. enum-derive-2018

    macros for deriving additional functionality for enums

    v3.0.2 210 #macro-derive #derive-enums #enums #macro-attr #custom-derive
  129. brotopuf

    (de)serializing structs in protocol buffer wire format

    v0.1.1 #protobuf #wire-format #int32 #int64 #enums #serialization
  130. enum_meta

    Add metadata to Enum Variants

    v0.7.0 4.1K #metadata #enums #language
  131. unwrap-enum

    generate methods to access enum variants

    v0.1.2 #enums #quote #macro
  132. reqwest-enum

    Typed enum HTTP API for reqwest

    v0.4.0 550 #web-api #enums #json-rpc
  133. str_enum

    declarative macro for an enum with associated strings for each variant

    v0.3.2 #declarative-macro #enums #enums-string #string #macro-string
  134. portable_atomic_enum

    An attribute to create an portable atomic wrapper around a C-style enum

    v0.3.1 21K #portable-atomic #atomic #enums
  135. bool-enum

    A macro for generating boolean-like enums that support bitwise and boolean operations

    v0.1.1 130 #enums #boolean #no-std
  136. checked-rs

    encoding validation semantics into the type system

    v1.0.0 800 #type-system #validation #clamp #enums
  137. tisel

    Effective type-based pseudodynamic dispatch to impls, enums and typeid

    v0.1.1 #type-id #enums #specialization #no-alloc #dyn
  138. enumizer

    macros for generating enums that are equivalent and convertible to standard library enums

    v0.1.2 #enums #result #either
  139. biosyn

    Mad Science Crate for working with syn

    v0.1.0 #syn #discriminant #mad #split-by-discriminant #enums
  140. assert_enum_variants

    macro that asserts that all variants of an enum are as provided in the macro invocation

    v0.1.2 4.5K #enum-variants #enums #assert
  141. repr-discriminant

    Trait to retrieve the discriminant of an enum variant with a repr(T) at runtime

    v3.0.1 #enums-discriminant #discriminant #attributes #enums #repr
  142. enum_default_generator

    Codegen tool to generate Default trait impls for Gateway API enums

    v0.19.0 #default #enums #api-gateway #codegen #traits
  143. stateless

    A lightweight, zero-cost state machine library that separates structure from behavior. Guards and actions live in wrapper code, not the DSL

    v0.5.0 #state-machine #enums #macro
  144. thisenum

    Assign constant literals to enum arms

    v0.2.2 300 #enums #parser #macro-parser #macro #const
  145. varienum

    Runtime inspection of enum variants

    v0.2.11 #enum-variants #enums #run-time #inspection-of-enum-variant
  146. enum-variants-strings

    Derive macro for converting instances of enums to and from strs using variant names

    v0.3.0 10K #enums-string #enum-variants #enums #derive-enums
  147. window-getter

    retrieving information about the windows

    v0.1.2 #enums #window #window-enum #macos #windows
  148. axum-server-maybetlsacceptor

    axum-server-compatible enum that lets you easily accepts connections with or without TLS

    v0.8.0 #axum-server #tls-acceptor #tls-connection #enums #server-connection
  149. inline_enum_handler

    Match enum variants to #[handler] functions without boilerplate

    v0.1.0 #macro #codegen #enums #actor #no-std
  150. store_by_enum

    Type-safe data stores addressed and accessed using enums (in any order)

    v0.1.0 #enums #store #macro #indexing #data-store
  151. jkcenum

    Rust enum library

    v0.3.3 390 #enums #jenum
  152. methods-enum

    Two macros for easy implementation of 'state' design pattern and other dynamic polymorphism using enum instead of dyn Trait

    v0.3.2 #methods #dyn #enums #polymorphism #state
  153. c-enum

    A macro to generate c-like enums

    v0.2.3 16K #enums #no-alloc
  154. enum-toggles

    A generic Rust library for managing toggles/flags using enums and bitvec

    v1.2.1 #features #enums #bit-vec #toggle #flags
  155. int-to-c-enum

    TryFromInt - A convenient derive macro for converting an integer to an enum

    v0.1.0 340 #macro-derive #enums #integer #convert #macro-for-converting
  156. compact-option

    Niche-packing optional that uses exactly as much memory as raw R; intended for R with spare bit patterns (primarily repr(u8) enums with <256 variants)

    v0.1.0 #enums #transmute #options #compact #sentinel
  157. evutils

    Handy helper utilities for working with enum variants

    v0.1.1 600 #enums #handy #enum-variant #serde-json
  158. json-result

    A generic enum representing a JSON result that can either be a success (Ok) with a value of type T or an error (Err) with a value of type E

    v0.1.1 #serde-json #deserialize #success #enums #generic #deserialize-json #untagged
  159. hirust-gen

    gen

    v0.1.6 340 #gen #enums
  160. assert-order

    Assert the order of Rust enum variants

    v0.0.3 #order #assert #derive #enums
  161. enum_discriminant

    Procedural macro to add functions on enum types to get discrimnant value from variant or create unit variant from discriminant value

    v1.0.1 650 #proc-macro #discriminant #ordinal #enums-discriminant #enums
  162. intuple

    Convert structs and enums into tuples (of refs) and back - recursive, ignore fields

    v0.2.0 #tuple #enums #tuple-struct #struct #into
  163. enum_convert

    procedural macro library for deriving automatic conversions between enum variants

    v0.2.0 1.7K #macro-derive #enum-variant #enums #convert #derive-enums #macro-variant
  164. derive-termination

    Derive the std::process::Termination trait for an enum (annotate the variants with #[exit_code(n))

    v2.0.0 #exit-code #process-termination #enum-variants #enums #macro-derive
  165. ctrlgen

    Generate enums for message-passing services

    v0.3.5 410 #service #enums #message-passing #generate #i32 #returnval
  166. loose_enum

    A macro for defining loose repr enums

    v0.1.0 #representation #enums #loose #no-alloc #repr
  167. csvenum

    Generate code for enums with associated constants from a .csv in your command line

    v0.1.4 250 #associated-constants #csv #codegen #enums #cli
  168. mabe

    framework for creating debug-friendly error enums in Rust

    v1.5.0 #debugging #enums #framework #simple #error
  169. enum_reflect_extern

    Traits for enum_reflect

    v0.2.6 250 #reflection #enums #field #derive #rust
  170. peapod

    Ultra-compact storage for enums

    v0.1.9 #enums #space-efficient #data-structures #compact
  171. any-range

    AnyRange<T> enum can hold any Range*<T> type

    v0.1.4 150 #range #enums #any
  172. enum_cycling

    Small macro for working with enums

    v0.2.1 #enums #pro-macro #macro
  173. trait-enumizer

    Proc macro to automatically generate enum based on method signatures (with appropriate helpers)

    v0.1.1 #traits #enumizer #derive #enums #traits-derive
  174. nvtiff-sys

    Rust bindings to nvTIFF via bindgen

    v0.3.0 #bindings #bindgen #enums #patch #nvidia #target-arch
  175. variantly

    Derive helper methods for enum variants that are familiar from std::option::Option & std::result::Result such as unwrap_or or and_then

    v0.4.0 24K #enum-variant #enums #methods #familiar #and-then #rgb #unwrap-or #hsv
  176. rotalubat

    A derive macro for cycling through enum variants

    v1.0.3 #enum-variants #enums #macro-derive #cycling #wrap #clamp
  177. enum_delegate

    Easily replace dynamic dispatch with an enum, for speed and serialization

    v0.2.0 246K #enums #performance-optimization #traits #macro #performance
  178. merge-it

    Generates logic for merging structs and enums

    v0.1.0 #merge #enums #no-std
  179. gull

    type generation

    v6.0.2 1.8K #enums #indentation #generation
  180. enum-fun

    Silly enum helpers

    v0.1.6 280 #enums #helper #silly
  181. enum_index

    Trait and macros for extracting Enum variant index

    v0.2.0 41K #enum-variants #enums #index #macro
  182. azalia-remi

    🐻‍❄️🪚 Allows to create a union enum for each official Remi crate

    v0.1.12 #azalia #bear #enums #remi #union
  183. beerec-variants

    Procedural derive macro to generate boilerplate on unit variants enum types

    v0.5.0 360 #string-representation #macro-derive #rust #boilerplate #enums
  184. complex-enum-macros

    Convert enums with non-unit variants to privitives and back

    v0.2.3 260 #proc-macro #enums #macro
  185. enum-kinds

    Generate enums with matching variants but without any of the associated data

    v0.5.1 53K #proc-macro #macro-derive #deriving #enums
  186. itern

    enum types for choosing between N different Iterator types in a single type

    v0.1.1 #choosing #iterator #between-different #enums #single
  187. 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)

    v0.3.0 #constant #enums #table
  188. enum_variant_accessors

    derive macros to generate is_*, as_* and as_*_mut accessors for enum variants

    v1.0.2 #macro-derive #enums #derive-enums #utility #macro-utility #accessors
  189. enser

    Enum serialization with tag

    v0.1.4 380 #enums #tags #serde
  190. quick-error2

    A macro which makes error types pleasant to write

    v2.1.0 #error-handling #error-macro #enums #macro #type
  191. iso639-1

    enum and utils

    v0.4.1 250 #enums #iso-639 #localization
  192. symbols

    Proc-macro utility to populate enums from database data

    v1.0.0 600 #database #enums
  193. iab-specs-adcom

    AdCOM 1.0 enumerations and common objects for the iab-specs ecosystem

    v0.5.1 #iab #enums #open-rtb #advertising #adcom
  194. vnum

    Create enums with a constant value associated to every variant

    v0.1.0 #constant-value #enums #macro #utility
  195. actix-web-utils

    Just some useful addons for actix web

    v0.2.20 100 #actix-web #enums #plugin #macro #database
  196. meta-enum

    Meta Information on C-Style Enum Inspired by QMetaEnum

    v0.2.1 #meta-information #c-style #enums #q-meta-enum
  197. big_enum_set

    creating sets of enums with a large number of variants

    v0.3.0 #enum-set #enums #bitset
  198. numeric-enum-macro

    A declarative macro for type-safe enum-to-numbers conversion

    v0.2.0 15K #enums #macro #no-std
  199. flexpiler

    Deserialiser aiming at high customizability

    v0.2.1 #deserialize #format #deserializer #enums #serialization #on-the-fly #customizability #deserialized #file-reader
  200. iter-n

    functions returning impl Iterator to return one of several distinct types

    v0.1.0 #iterator #impl #enums #either
  201. maybe-uninit

    MaybeUninit for friends of backwards compatibility

    v2.0.0 1.0M #maybe-uninit-of-backward #compatibility #maybe-uninit-for-friends #enums #bool #re-exports #feature-complete
  202. enum_reflect

    Enums reflection library

    v0.2.6 480 #reflection #enums #derive #rust #field
  203. ref_or_box

    enum containing either a static ref or box

    v0.1.0 #enums #static #box #containing #ref #dyn-traits
  204. inarybay

    Graph-based binary format (de)serializer generator

    v0.1.1 #binary-encoding #serialization #generator #enums #endian #graph-based #fixed-length #protobuf
  205. ai-personas

    Hard-contract enum definitions for Sovereign AI Personas

    v0.2.1 #personas #sovereign #artificial-intelligence #define #enums
  206. treeerror

    macros for generating trees of enums, as well as From implementations converting between them. Primarily intended for error handling.

    v0.1.1 #enums #macro #unit #generating #generator #partial-eq #static-string
  207. phenotype-internal

    Defines Phenotype trait for Peapod crate

    v0.2.0 #peapod #enums #traits #storage-collection #data-structures #ultra-compact #memory-data-structure
  208. quickvariant

    C++-style variant library

    v0.1.3 120 #enum-variants #enums #macro
  209. 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…

    v0.4.5 150 #enum-variants #debugging #enums #string #traits #every-combination
  210. voxel-orient

    Voxel cube orientation library

    v0.2.0-indev #voxel #orientation #flip #enums #cube #voxel-game #games
  211. enum-unitary

    Trait and macro for unitary enums

    v0.5.0 #enums #macro-traits #unitary #macro-derive #enum-variant #primitive-numbers
  212. frunk-enum-derive

    Derive macros to implement the frunk::LabelledGeneric trait on enums

    v0.3.0 6.2K #frunk #macro-derive #labelled-generic #enums #derive-enums
  213. match-commutative

    Match on patterns commutatively, reducing the use of duplicated patterns. ↔️

    v0.1.0 #match-enums #pattern-match #match-variant #enums #macro #no-alloc
  214. derive-name

    Derive macro to get the name of a struct, enum or enum variant

    v1.1.0 2.3K #struct-name #enums #macro-derive #enum-variants #enum-variant
  215. craftflow-nbt

    A serde-based NBT (from Minecraft) binary format implementation

    v2.1.0 130 #minecraft-nbt #serialization #binary-format #enums #byte-array #compound #long-array #serde-based
  216. enumx

    Ad-hoc enum extension

    v0.4.3 1.0K #ad-hoc #enums #anonymous #structural #sum
  217. enum_builder

    macros that allow building enum types from variants that can be defined in multiple dispersed files in the crate

    v0.1.6 #enums #enum-variant #building #macro #animal #dog #fish #enum-dispatch
  218. looking-glass-protobuf

    Protobuf reflection library built on looking-glass and Prost

    v0.1.4 1.3K #looking-glass #protobuf #enums #prost #check
  219. variant_counter

    Rust's Enum variant counter

    v0.4.0 #enum-variants #enums #variant-count #erase #statistics
  220. symbols-models

    Proc-macro utility to populate enums from database data (shared traits)

    v1.0.0 700 #database #enums
  221. Try searching with DuckDuckGo.

  222. nested-deserialize

    A very special-case implementation of serde::Deserialize for untagged nested enums

    v0.1.0 #macro-derive #enums #serde-derive
  223. bitbag

    A useful struct for dealing with bit flags

    v0.3.0 400 #bit-flags #enums #repr #defined #derive #field-less
  224. enum-ref

    Proc. macro for generating enum discriminant types.

    v0.1.0 #enums #reference #wrapper
  225. diesel-enum-sqltype

    derive macro for FromSql and ToSql traits for postgres enums

    v0.1.7 450 #enums #diesel #postgresql
  226. tri_ton

    A Macro for Handling Exceptions

    v0.0.2 #enums #macro #utility #macro-utility
  227. diesel-enum-number

    Attribute macro to allow diesel to use number based enums in postgres

    v0.1.5 110 #enums #diesel #postgresql #smallint #sql
  228. abienum

    underlying types for C enums

    v0.0.0-2025-01-19 #enums #abi
  229. enum_arr

    Enum-Indexed arrays inspired by the Odin Programming Language

    v0.1.2 700 #enums #map #array-map #inline #array
  230. variants-struct

    A derive macro to convert enums into a struct where the variants are members

    v0.2.0 #enums #struct #map-struct #map
  231. enum_from_derive

    Implement From For the Enumeration

    v0.1.6 800 #enums #derive #testing #debugging #repr #from-str #ttt
  232. rs-imgextint2mimenum

    Converts the ext to the mime type enum

    v0.1.0 #mime #enums #image #extension #wasm
  233. enum-fields

    Quickly access shared enum fields in Rust

    v0.2.0 #proc-macro #enums #macro
  234. http-derive

    Derive macro for implementing Into<http::StatusCode> for your enums using the standard http types

    v0.1.2 170 #http-status #macro-derive #status-code #enums #standard #error-handling #http-errors
  235. enum-primitive-derive

    enum_primitive implementation using procedural macros to have a custom derive

    v0.3.0 440K #from-primitive #ffi #primitive #derive-enums #enums
  236. enum_handler

    A macro to generate a handler trait for enums variants

    v0.1.0 #enums #handler #state #bloc
  237. random_variant

    To be used with all variant, contains the derive macro

    v0.2.7 450 #macro-derive #testing #enums #limit #error-code #random-testing #every-variant #hunting
  238. cxx-enumext

    Generate cxx compatable Trivial bindings for rust enum types

    v0.0.3 #cpp #enums #ffi
  239. enum-field

    Declarative macros for enum-based heterogeneous field accessors

    v0.2.0 #enums #field #declarative-macro #accessor #heterogeneous
  240. enum-bitmasks

    A no_std compatible bitmask macro that can be implemented on enums

    v0.1.0 #enums #macro #no-std #bitmasks
  241. plain_enum

    Mimicing Java's enum::values() and EnumMap

    v0.12.0 130 #enums #enum-map #value #java #associated
  242. encap_enum

    A non-verbose way to define a group of constants and bit flags

    v0.3.1 #bit-flags #bitmask #enums