diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-05-07 22:36:57 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-06-10 20:42:30 -0700 |
| commit | ad06b249b6e4253f553e7255dd5530172a14a70f (patch) | |
| tree | 4144f5916116f369df1002035d8d0c444d539882 /src/type.zig | |
| parent | 8587e510e46f98e321fbad30bb235e5eed33f1ba (diff) | |
| download | zig-ad06b249b6e4253f553e7255dd5530172a14a70f.tar.gz zig-ad06b249b6e4253f553e7255dd5530172a14a70f.zip | |
Sema: introduce Value.enum_field_0
and use it to fix typeHasOnePossibleValue logic in two different places.
Diffstat (limited to 'src/type.zig')
| -rw-r--r-- | src/type.zig | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/type.zig b/src/type.zig index b088f58f0a..4ef5da57ea 100644 --- a/src/type.zig +++ b/src/type.zig @@ -4027,7 +4027,7 @@ pub const Type = struct { switch (enum_full.fields.count()) { 0 => return Value.@"unreachable", 1 => if (enum_full.values.count() == 0) { - return try mod.intValue(ty, 0); // auto-numbered + return Value.enum_field_0; // auto-numbered } else { return enum_full.values.keys()[0]; }, @@ -4038,14 +4038,14 @@ pub const Type = struct { const enum_simple = ty.castTag(.enum_simple).?.data; switch (enum_simple.fields.count()) { 0 => return Value.@"unreachable", - 1 => return try mod.intValue(ty, 0), + 1 => return Value.enum_field_0, else => return null, } }, .enum_nonexhaustive => { const tag_ty = ty.castTag(.enum_nonexhaustive).?.data.tag_ty; if (!tag_ty.hasRuntimeBits(mod)) { - return try mod.intValue(ty, 0); + return Value.enum_field_0; } else { return null; } |
