enum_reflect

Crates.ioenum_reflect
lib.rsenum_reflect
version0.2.6
created_at2025-06-09 18:04:05.475995+00
updated_at2025-07-12 09:58:05.171913+00
descriptionEnums reflection library
homepagehttps://github.com/hrykr/enum-reflect/
repositoryhttps://github.com/hrykr/enum-reflect/
max_upload_size
id1706227
size13,346
Hryhorii Kravtsov (hrykr)

documentation

README

Enum Reflection Rust

github crates.io crates.io

LIBRARY IS IN BETA! SOME FEATURES CAN WORK WRONG!

If you have any error, write about it here

Rust library for enum reflection. Use it to get all fields in enum.

Installation

cargo add enum_reflect

or

[dependencies]
enum_reflect = "0.2.6"

Example

#[derive(EnumReflect)]
pub enum Example {
    Empty,
    Example1 {
        var1: String,
        var2: i32,
    },
    Example2 {
        var1: String,
        var2: i32,
        var3: bool,
    },
}

fn foo() {
    let exml = Example::Example1 { var1: "Hello, World!".to_string(), var2: 32 };
    
    for (name, value) in exml.get_named_fields() {
        println!("Field {} is {}", name, value.to_string());
    }
}

Output:

Field var1 is Hello, World!
Field var2 is 32
Commit count: 12

cargo fmt