enum_reflect 0.2.5

Enum fields reflection library
Documentation

Enum Reflection Rust

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.5"

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