aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorr00ster91 <r00ster91@proton.me>2022-12-16 18:05:21 +0100
committerr00ster91 <r00ster91@proton.me>2022-12-18 13:31:38 +0100
commitceff03f3e96a9c51dc24e21b1f343f2b2650e2aa (patch)
tree68390ee9675cbaabe61892a879af0840293c66f8 /src
parentaac2d6b56f32134ea32fb3d984e3fcdfddd8aaf6 (diff)
downloadzig-ceff03f3e96a9c51dc24e21b1f343f2b2650e2aa.tar.gz
zig-ceff03f3e96a9c51dc24e21b1f343f2b2650e2aa.zip
std.builtin: remove layout field from Type.Enum
Diffstat (limited to 'src')
-rw-r--r--src/Sema.zig24
1 files changed, 5 insertions, 19 deletions
diff --git a/src/Sema.zig b/src/Sema.zig
index 6f1af51d28..f403b7e7e2 100644
--- a/src/Sema.zig
+++ b/src/Sema.zig
@@ -15690,14 +15690,8 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai
const decls_val = try sema.typeInfoDecls(block, src, type_info_ty, ty.getNamespace());
- const field_values = try sema.arena.create([5]Value);
+ const field_values = try sema.arena.create([4]Value);
field_values.* = .{
- // layout: ContainerLayout,
- try Value.Tag.enum_field_index.create(
- sema.arena,
- @enumToInt(std.builtin.Type.ContainerLayout.Auto),
- ),
-
// tag_type: type,
try Value.Tag.ty.create(sema.arena, int_tag_ty),
// fields: []const EnumField,
@@ -18312,22 +18306,14 @@ fn zirReify(sema: *Sema, block: *Block, extended: Zir.Inst.Extended.InstData, in
.Enum => {
const struct_val: []const Value = union_val.val.castTag(.aggregate).?.data;
// TODO use reflection instead of magic numbers here
- // layout: ContainerLayout,
- const layout_val = struct_val[0];
// tag_type: type,
- const tag_type_val = struct_val[1];
+ const tag_type_val = struct_val[0];
// fields: []const EnumField,
- const fields_val = struct_val[2];
+ const fields_val = struct_val[1];
// decls: []const Declaration,
- const decls_val = struct_val[3];
+ const decls_val = struct_val[2];
// is_exhaustive: bool,
- const is_exhaustive_val = struct_val[4];
-
- // enum layout is always auto
- const layout = layout_val.toEnum(std.builtin.Type.ContainerLayout);
- if (layout != .Auto) {
- return sema.fail(block, src, "reified enums must have a layout .Auto", .{});
- }
+ const is_exhaustive_val = struct_val[3];
// Decls
if (decls_val.sliceLen(mod) > 0) {