summaryrefslogtreecommitdiff
path: root/src/types.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/types.cpp')
-rw-r--r--src/types.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/types.cpp b/src/types.cpp
index 845af9d2..f3777666 100644
--- a/src/types.cpp
+++ b/src/types.cpp
@@ -798,7 +798,7 @@ void operator%(::Deserialiser& s, TypeData::Tag& c) {
}
#define _S(VAR, ...) case TypeData::TAG_##VAR: { const auto& ent = m_data.as_##VAR(); (void)&ent; __VA_ARGS__ } break;
-#define _D(VAR, ...) case TypeData::TAG_##VAR: { m_data = TypeData::make_null_##VAR(); auto& ent = m_data.as_##VAR(); (void)&ent; __VA_ARGS__ } break;
+#define _D(VAR, ...) case TypeData::TAG_##VAR: { m_data = TypeData::make_##VAR({}); auto& ent = m_data.as_##VAR(); (void)&ent; __VA_ARGS__ } break;
SERIALISE_TYPE(TypeRef::, "TypeRef", {
s % m_data.tag();
switch(m_data.tag())
@@ -854,6 +854,7 @@ SERIALISE_TYPE(TypeRef::, "TypeRef", {
_D(Any)
_D(Unit)
_D(Macro,
+ m_data = TypeData::make_Macro({});
s.item( ent.inv );
)
_D(Primitive,