Skip to content

Commit 40313fb

Browse files
committed
Renovate nullary variant construction
1 parent fdd2845 commit 40313fb

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

src/librustc/middle/trans/expr.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -722,14 +722,12 @@ fn trans_def_dps_unadjusted(bcx: block, ref_expr: @ast::expr,
722722
let fn_data = callee::trans_fn_ref(bcx, vid, ref_expr.id);
723723
Store(bcx, fn_data.llfn, lldest);
724724
return bcx;
725-
} else if !ty::enum_is_univariant(ccx.tcx, tid) {
726-
// Nullary variant.
727-
let lldiscrimptr = GEPi(bcx, lldest, [0u, 0u]);
728-
let lldiscrim = C_int(bcx.ccx(), variant_info.disr_val);
729-
Store(bcx, lldiscrim, lldiscrimptr);
730-
return bcx;
731725
} else {
732-
// Nullary univariant.
726+
// Nullary variant.
727+
let ty = expr_ty(bcx, ref_expr);
728+
let repr = adt::represent_type(ccx, ty);
729+
adt::trans_set_discr(bcx, &repr, lldest,
730+
variant_info.disr_val);
733731
return bcx;
734732
}
735733
}

0 commit comments

Comments
 (0)