summaryrefslogtreecommitdiff
path: root/src/hir/type.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hir/type.cpp')
-rw-r--r--src/hir/type.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/hir/type.cpp b/src/hir/type.cpp
index 61ba9419..acd5ab1c 100644
--- a/src/hir/type.cpp
+++ b/src/hir/type.cpp
@@ -42,7 +42,17 @@ void ::HIR::TypeRef::fmt(::std::ostream& os) const
TU_MATCH(::HIR::TypeRef::Data, (m_data), (e),
(Infer,
os << "_";
- if( e.index != ~0u ) os << "/*" << e.index << "*/";
+ if( e.index != ~0u || e.ty_class != ::HIR::InferClass::None ) {
+ os << "/*";
+ if(e.index != ~0u) os << e.index;
+ switch(e.ty_class)
+ {
+ case ::HIR::InferClass::None: break;
+ case ::HIR::InferClass::Float: os << ":f"; break;
+ case ::HIR::InferClass::Integer:os << ":i"; break;
+ }
+ os << "*/";
+ }
),
(Diverge,
os << "!";