@@ -29,13 +29,13 @@ pub trait Element {
2929
3030#[ derive( Clone , Debug , Default , PartialEq , Serialize , JsonSchema ) ]
3131pub struct CommonAttributes {
32- #[ serde( skip_serializing_if = "CanBeEmpty::is_empty" ) ]
32+ #[ serde( default , skip_serializing_if = "CanBeEmpty::is_empty" ) ]
3333 ids : Vec < ID > ,
34- #[ serde( skip_serializing_if = "CanBeEmpty::is_empty" ) ]
34+ #[ serde( default , skip_serializing_if = "CanBeEmpty::is_empty" ) ]
3535 names : Vec < NameToken > ,
36- #[ serde( skip_serializing_if = "CanBeEmpty::is_empty" ) ]
36+ #[ serde( default , skip_serializing_if = "CanBeEmpty::is_empty" ) ]
3737 source : Option < PathBuf > ,
38- #[ serde( skip_serializing_if = "CanBeEmpty::is_empty" ) ]
38+ #[ serde( default , skip_serializing_if = "CanBeEmpty::is_empty" ) ]
3939 classes : Vec < String > ,
4040 //TODO: dupnames
4141}
@@ -182,6 +182,7 @@ macro_rules! impl_elem {
182182 pub struct $name {
183183 #[ serde( flatten) ]
184184 common: CommonAttributes ,
185+ #[ serde( default , skip_serializing_if = "CanBeEmpty::is_empty" ) ]
185186 children: Vec <$childtype>,
186187 }
187188 ) ;
@@ -196,6 +197,7 @@ macro_rules! impl_elem {
196197 common: CommonAttributes ,
197198 #[ serde( flatten) ]
198199 extra: extra_attributes:: $name,
200+ #[ serde( default , skip_serializing_if = "CanBeEmpty::is_empty" ) ]
199201 children: Vec <$childtype>,
200202 }
201203 ) ;
0 commit comments