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.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/hir/serialise.cpp b/src/hir/serialise.cpp
index 83e6d016..7725d49f 100644
--- a/src/hir/serialise.cpp
+++ b/src/hir/serialise.cpp
@@ -308,17 +308,20 @@
serialise(pm.path);
serialise_vec(pm.attributes);
}
+ template<typename T>
+ void serialise(const ::HIR::Crate::ImplGroup<T>& ig)
+ {
+ serialise_pathmap(ig.named);
+ serialise_vec(ig.non_named);
+ serialise_vec(ig.generic);
+ }
void serialise_crate(const ::HIR::Crate& crate)
{
m_out.write_string(crate.m_crate_name);
serialise_module(crate.m_root_module);
- //std::map<HIR::SimplePath,std::vector<TypeImpl>>
- serialise_pathmap(crate.m_named_type_impls);
- serialise_vec(crate.m_primitive_type_impls);
- serialise_vec(crate.m_generic_type_impls);
-
+ serialise(crate.m_type_impls);
serialise_pathmap(crate.m_trait_impls);
serialise_pathmap(crate.m_marker_impls);