diff --git a/src/Expr.cc b/src/Expr.cc index ec62024553..4463df0432 100644 --- a/src/Expr.cc +++ b/src/Expr.cc @@ -3804,8 +3804,7 @@ Val* RecordCoerceExpr::Fold(Val* v) const if ( def ) rhs = def->AttrExpr()->Eval(0); } - - if ( rhs ) + else rhs = rhs->Ref(); assert(rhs || Type()->AsRecordType()->FieldDecl(i)->FindAttr(ATTR_OPTIONAL));