diff options
author | John Hodge <tpg@mutabah.net> | 2016-05-20 23:01:40 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-05-20 23:01:40 +0800 |
commit | 2d3f40522064bfef4765cc093a58e675db849c7c (patch) | |
tree | 7106275bfd923045a14aee60ff5c90f7c18059ea /src/hir | |
parent | cca20d66c1f0933b12b4bfd82817aa2cf40b1730 (diff) | |
download | mrust-2d3f40522064bfef4765cc093a58e675db849c7c.tar.gz |
HIR - Diverging type
Diffstat (limited to 'src/hir')
-rw-r--r-- | src/hir/from_ast.cpp | 8 | ||||
-rw-r--r-- | src/hir/type.hpp | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/hir/from_ast.cpp b/src/hir/from_ast.cpp index 827ac973..177bc65c 100644 --- a/src/hir/from_ast.cpp +++ b/src/hir/from_ast.cpp @@ -428,7 +428,8 @@ { TU_MATCH(::TypeData, (ty.m_data), (e), (None, - TODO(ty.span(), "TypeData::None"); + // Aka diverging + return ::HIR::TypeRef( ::HIR::TypeRef::Data::make_Diverge({}) ); ), (Any, return ::HIR::TypeRef(); @@ -527,7 +528,10 @@ ::HIR::TypeAlias LowerHIR_TypeAlias(const ::AST::TypeAlias& ta) { - throw ::std::runtime_error("TODO: LowerHIR_TypeAlias"); + return ::HIR::TypeAlias { + LowerHIR_GenericParams(ta.params()), + LowerHIR_Type(ta.type()) + }; } ::HIR::Struct LowerHIR_Struct(const ::AST::Struct& ent) diff --git a/src/hir/type.hpp b/src/hir/type.hpp index dc1f204f..95a3cd1d 100644 --- a/src/hir/type.hpp +++ b/src/hir/type.hpp @@ -58,6 +58,7 @@ struct TypeRef TAGGED_UNION(Data, Infer, (Infer, struct {}), + (Diverge, struct {}), (Primitive, ::HIR::CoreType), (Path, ::HIR::Path), (Generic, struct { |