From 5071ea12cdd8cd93d814b04b615693d39caf054f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20Ludwig?= Date: Wed, 13 Dec 2017 10:48:29 +0100 Subject: [PATCH] Add unit test for #1941 (recursive data structures). Closes #1941. --- data/vibe/data/serialization.d | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/data/vibe/data/serialization.d b/data/vibe/data/serialization.d index e6d51c1196..0f1788ce31 100644 --- a/data/vibe/data/serialization.d +++ b/data/vibe/data/serialization.d @@ -1918,6 +1918,16 @@ unittest { assert(deser.bar_ == 42); } +@safe unittest { // issue 1941 + static struct Bar { Bar[] foos; int i; } + Bar b1 = {[{null, 2}], 1}; + auto s = serialize!TestSerializer(b1); + auto b = deserialize!(TestSerializer, Bar)(s); + assert(b.i == 1); + assert(b.foos.length == 1); + assert(b.foos[0].i == 2); +} + unittest { // issue 1991 - @system property getters/setters does not compile static class A { @property @name("foo") {