summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-11-20 14:44:39 +0800
committerJohn Hodge <tpg@mutabah.net>2016-11-20 14:44:39 +0800
commit54834a34bddffc8f4066642c82780646be846024 (patch)
treea10f62f897d40ce468b13a21839a6bbe364f87db /src
parent4299906bf3a80e607d7e1ecff05c47a1b10074de (diff)
downloadmrust-54834a34bddffc8f4066642c82780646be846024.tar.gz
HIR Serialise - Fix serialisation of ErasedType
Diffstat (limited to 'src')
-rw-r--r--src/hir/deserialise.cpp6
-rw-r--r--src/hir/serialise.cpp6
2 files changed, 9 insertions, 3 deletions
diff --git a/src/hir/deserialise.cpp b/src/hir/deserialise.cpp
index e1939d6d..de7790ee 100644
--- a/src/hir/deserialise.cpp
+++ b/src/hir/deserialise.cpp
@@ -610,6 +610,12 @@ namespace {
deserialise_vec< ::HIR::GenericPath>(),
"" // TODO: m_lifetime
})
+ _(ErasedType, {
+ deserialise_path(),
+ static_cast<unsigned int>(m_in.read_count()),
+ deserialise_vec< ::HIR::TraitPath>(),
+ "" // TODO: m_lifetime
+ })
_(Array, {
deserialise_ptr< ::HIR::TypeRef>(),
nullptr,
diff --git a/src/hir/serialise.cpp b/src/hir/serialise.cpp
index ea4dfabf..e61d525e 100644
--- a/src/hir/serialise.cpp
+++ b/src/hir/serialise.cpp
@@ -90,12 +90,12 @@ namespace {
//write_string(e.lifetime); // TODO: Need a better type
),
(ErasedType,
+ serialise_path(e.m_origin);
+ m_out.write_count(e.m_index);
+
m_out.write_count(e.m_traits.size());
for(const auto& t : e.m_traits)
serialise_traitpath(t);
-
- serialise_path(e.m_origin);
- m_out.write_count(e.m_index);
),
(Array,
assert(e.size_val != ~0u);