enum_reflect_extern

Crates.ioenum_reflect_extern
lib.rsenum_reflect_extern
version0.2.6
created_at2025-06-10 11:53:24.314732+00
updated_at2025-07-12 09:56:27.985675+00
descriptionTraits for enum_reflect
homepagehttps://github.com/hrykr/enum-reflect/
repositoryhttps://github.com/hrykr/enum-reflect/
max_upload_size
id1707008
size4,547
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