diff options
Diffstat (limited to 'src')
-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 { |