We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent cb6702f commit 63f672dCopy full SHA for 63f672d
src/Sema.zig
@@ -28083,10 +28083,16 @@ fn unionFieldVal(
28083
const active_tag = try block.addTyOp(.get_union_tag, .fromInterned(union_obj.enum_tag_ty), union_byval);
28084
try sema.addSafetyCheckInactiveUnionField(block, src, active_tag, wanted_tag);
28085
}
28086
+
28087
if (field_ty.zigTypeTag(zcu) == .noreturn) {
28088
_ = try block.addNoOp(.unreach);
28089
return .unreachable_value;
28090
28091
28092
+ if (try sema.typeHasOnePossibleValue(field_ty)) |field_only_value| {
28093
+ return Air.internedToRef(field_only_value.toIntern());
28094
+ }
28095
28096
try field_ty.resolveLayout(pt);
28097
return block.addStructFieldVal(union_byval, field_index, field_ty);
28098
0 commit comments