enum_reflect 0.2.0

Enum fields reflection library
Documentation
enum_reflect-0.2.0 has been yanked.

Enum Reflection Rust

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

Installation

cargo add enum_reflect

or

[dependencies]
enum_reflect = "0.1"

Dependencies

Enum Reflect Extern

Extern traits, structs and other for enum_reflect.

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