summaryrefslogtreecommitdiff
path: root/src/hir/serialise.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hir/serialise.cpp')
-rw-r--r--src/hir/serialise.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/hir/serialise.cpp b/src/hir/serialise.cpp
index cb928832..36395105 100644
--- a/src/hir/serialise.cpp
+++ b/src/hir/serialise.cpp
@@ -633,6 +633,10 @@ namespace {
(Trait,
m_out.write_tag(5);
serialise(e);
+ ),
+ (Union,
+ m_out.write_tag(6);
+ serialise(e);
)
)
}
@@ -756,6 +760,14 @@ namespace {
)
)
}
+ void serialise(const ::HIR::Union& item)
+ {
+ TRACE_FUNCTION;
+
+ serialise_generics(item.m_params);
+ m_out.write_tag( static_cast<int>(item.m_repr) );
+ serialise_vec(item.m_variants);
+ }
void serialise(const ::HIR::Trait& item)
{
TRACE_FUNCTION_F("_trait:");