summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/hir_typeck/expr_check.cpp2
-rw-r--r--src/parse/expr.cpp2
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
}