diff --git a/tests/115_minimal_flattening.rs b/tests/115_minimal_flattening.rs index f4bb581c..49758d64 100644 --- a/tests/115_minimal_flattening.rs +++ b/tests/115_minimal_flattening.rs @@ -322,3 +322,30 @@ AllOptional({ assert_eq!(de, val); } + +#[derive(Clone, Debug, Default, Deserialize, PartialEq, Eq, Serialize)] +#[serde(deny_unknown_fields)] +pub struct AvailableCards { + pub left: u8, + pub right: u8, +} + +#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)] +struct MapProperties { + #[serde(flatten)] + cards: AvailableCards, +} + +#[test] +fn test_issue_456() { + let map_properties = MapProperties { + cards: AvailableCards { + ..Default::default() + }, + }; + let ron = ron::to_string(&map_properties).unwrap(); + + let de: MapProperties = ron::from_str(&ron).unwrap(); + + assert_eq!(map_properties, de); +}