use ruststep_derive::{as_holder, Holder}; use std::collections::HashMap; pub struct Table { a: HashMap, b: HashMap, c: HashMap, } #[derive(Debug, Clone, PartialEq, Holder)] #[holder(table = Table)] #[holder(field = a)] #[holder(generate_deserialize)] pub struct A { pub x: f64, pub y: Option, } #[derive(Debug, Clone, PartialEq, Holder)] #[holder(table = Table)] #[holder(field = b)] #[holder(generate_deserialize)] pub struct B { pub z: f64, #[holder(use_place_holder)] pub a: A, } #[derive(Debug, Clone, PartialEq, Holder)] #[holder(table = Table)] #[holder(field = c)] #[holder(generate_deserialize)] pub struct C { #[holder(use_place_holder)] pub p: A, #[holder(use_place_holder)] pub q: Option, } fn main() {}