diff options
-rw-r--r-- | src/hir_typeck/expr_check.cpp | 2 | ||||
-rw-r--r-- | src/parse/expr.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/hir_typeck/expr_check.cpp b/src/hir_typeck/expr_check.cpp index 95238456..ec632d56 100644 --- a/src/hir_typeck/expr_check.cpp +++ b/src/hir_typeck/expr_check.cpp @@ -47,7 +47,7 @@ namespace { { n->visit(*this); } - if( node.m_nodes.size() > 0 ) + if( node.m_nodes.size() > 0 && node.m_yields_final ) { check_types_equal(node.span(), node.m_res_type, node.m_nodes.back()->m_res_type); } diff --git a/src/parse/expr.cpp b/src/parse/expr.cpp index ba4679e0..fbcb00d7 100644 --- a/src/parse/expr.cpp +++ b/src/parse/expr.cpp @@ -118,7 +118,7 @@ ExprNodeP Parse_ExprBlockNode(TokenStream& lex, bool is_unsafe/*=false*/) if( LOOK_AHEAD(lex) == TOK_BRACE_CLOSE && add_silence_if_end )
{
DEBUG("expect_end == false, end of block");
- nodes.push_back( NEWNODE(AST::ExprNode_Tuple, ::std::vector<ExprNodeP>()) );
+ //nodes.push_back( NEWNODE(AST::ExprNode_Tuple, ::std::vector<ExprNodeP>()) );
yields_final_value = false;
// NOTE: Would break out of the loop, but we're in a switch
}
|