#![allow(dead_code)]
use struct_reflection::StructReflection;
use struct_reflection::StructReflectionHelper;
#[derive(StructReflection)]
struct BasicTuple(i32, String, bool);
#[derive(StructReflection)]
struct GenericTuple<T, U>(
T, U, String, [T; 3], [(U, T); 2], );
#[derive(StructReflection)]
struct NestedTuple(
BasicTuple, [[f64; 2]; 2], GenericTuple<i32, String>, );
fn main() {
println!("BasicTuple reflection:");
let basic_fields = BasicTuple::struct_reflection().unwrap();
for field in basic_fields {
println!(" {}", field);
}
println!("\nGenericTuple reflection:");
let generic_fields = GenericTuple::<bool, f32>::struct_reflection().unwrap();
for field in generic_fields {
println!(" {}", field);
}
println!("\nNestedTuple reflection:");
let nested_fields = NestedTuple::struct_reflection().unwrap();
for field in nested_fields {
println!(" {}", field);
}
}