summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/hir_typeck/expr_check.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/hir_typeck/expr_check.cpp b/src/hir_typeck/expr_check.cpp
index 170611b1..838c653c 100644
--- a/src/hir_typeck/expr_check.cpp
+++ b/src/hir_typeck/expr_check.cpp
@@ -611,11 +611,14 @@ namespace {
void visit(::HIR::ExprNode_Closure& node) override
{
TRACE_FUNCTION_F(&node << " |...| ...");
- check_types_equal(node.m_code->span(), node.m_return, node.m_code->m_res_type);
- this->closure_ret_types.push_back( &node.m_return );
- node.m_code->visit( *this );
- this->closure_ret_types.pop_back( );
+ if( node.m_code )
+ {
+ check_types_equal(node.m_code->span(), node.m_return, node.m_code->m_res_type);
+ this->closure_ret_types.push_back( &node.m_return );
+ node.m_code->visit( *this );
+ this->closure_ret_types.pop_back( );
+ }
}
private: