diff options
-rw-r--r-- | src/hir_typeck/expr_cs.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/hir_typeck/expr_cs.cpp b/src/hir_typeck/expr_cs.cpp index 5d59f880..f5ef9fc6 100644 --- a/src/hir_typeck/expr_cs.cpp +++ b/src/hir_typeck/expr_cs.cpp @@ -861,6 +861,11 @@ namespace { this->equate_types_inner_coerce(node.span(), node.m_res_type, arm.m_code); arm.m_code->visit( *this ); } + + if( node.m_arms.empty() ) { + DEBUG("Empty match"); + this->context.equate_types(node.span(), node.m_res_type, ::HIR::TypeRef::new_diverge()); + } } void visit(::HIR::ExprNode_If& node) override |