diff --git a/src/expression2/DDefineExpr.cpp b/src/expression2/DDefineExpr.cpp index 14d1c52e..ada633f6 100644 --- a/src/expression2/DDefineExpr.cpp +++ b/src/expression2/DDefineExpr.cpp @@ -24,9 +24,13 @@ namespace xo { void * mem = mm.alloc(typeseq::id(), sizeof(DDefineExpr)); + TypeRef rhs_tref; + if (rhs_expr) + rhs_tref = rhs_expr.typeref(); + auto lhs_var = DVariable::make(mm, lhs_name, - rhs_expr.typeref()); + rhs_tref); return new (mem) DDefineExpr(lhs_var, rhs_expr); }