summaryrefslogtreecommitdiff
path: root/src/hir/from_ast_expr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/hir/from_ast_expr.cpp')
-rw-r--r--src/hir/from_ast_expr.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/hir/from_ast_expr.cpp b/src/hir/from_ast_expr.cpp
index 159aed89..b0ea4169 100644
--- a/src/hir/from_ast_expr.cpp
+++ b/src/hir/from_ast_expr.cpp
@@ -218,12 +218,19 @@ struct LowerHIR_ExprNode_Visitor:
break;
}
}
- virtual void visit(::AST::ExprNode_Cast & v) override {
+ virtual void visit(::AST::ExprNode_Cast& v) override {
m_rv.reset( new ::HIR::ExprNode_Cast( v.span(),
LowerHIR_ExprNode_Inner( *v.m_value ),
LowerHIR_Type(v.m_type)
) );
}
+ virtual void visit(::AST::ExprNode_TypeAnnotation& v) override {
+ // TODO: A proper node?
+ m_rv.reset( new ::HIR::ExprNode_Unsize( v.span(),
+ LowerHIR_ExprNode_Inner( *v.m_value ),
+ LowerHIR_Type(v.m_type)
+ ) );
+ }
virtual void visit(::AST::ExprNode_CallPath& v) override {
::std::vector< ::HIR::ExprNodeP> args;