summaryrefslogtreecommitdiffstats
path: root/tests/empty.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/empty.rs')
-rw-r--r--tests/empty.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/empty.rs b/tests/empty.rs
index bce4f92..7882edf 100644
--- a/tests/empty.rs
+++ b/tests/empty.rs
@@ -18,3 +18,25 @@ fn empty_deserializes() {
assert_eq!(s.foo, 0);
assert_eq!(s.bar, 0);
}
+
+#[derive(Debug, Serialize, Deserialize, PartialEq)]
+struct A {
+ b: Option<B>,
+}
+#[derive(Debug, Serialize, Deserialize, PartialEq)]
+struct B {}
+
+#[test]
+fn empty_inner_obj() {
+ let a = A {
+ b: Some(B {})
+ };
+
+ let de_from_default_object: A = Config::builder()
+ .add_source(Config::try_from(&a).unwrap())
+ .build()
+ .unwrap()
+ .try_deserialize()
+ .unwrap();
+ assert_eq!(a, de_from_default_object); // Failed
+}