| ... | ... | @@ -1,35 +0,0 @@ |
| 1 | | const Tag = @Type(.{ |
| 2 | | .Enum = .{ |
| 3 | | .layout = .Auto, |
| 4 | | .tag_type = u1, |
| 5 | | .fields = &.{ |
| 6 | | .{ .name = "signed", .value = 0 }, |
| 7 | | .{ .name = "unsigned", .value = 1 }, |
| 8 | | }, |
| 9 | | .decls = &.{}, |
| 10 | | .is_exhaustive = true, |
| 11 | | }, |
| 12 | | }); |
| 13 | | const Tagged = @Type(.{ |
| 14 | | .Union = .{ |
| 15 | | .layout = .Auto, |
| 16 | | .tag_type = Tag, |
| 17 | | .fields = &.{ |
| 18 | | .{ .name = "signed", .field_type = i32, .alignment = @alignOf(i32) }, |
| 19 | | .{ .name = "unsigned", .field_type = u32, .alignment = @alignOf(u32) }, |
| 20 | | .{ .name = "arst", .field_type = f32, .alignment = @alignOf(f32) }, |
| 21 | | }, |
| 22 | | .decls = &.{}, |
| 23 | | }, |
| 24 | | }); |
| 25 | | export fn entry() void { |
| 26 | | var tagged = Tagged{ .signed = -1 }; |
| 27 | | tagged = .{ .unsigned = 1 }; |
| 28 | | } |
| 29 | | |
| 30 | | // error |
| 31 | | // backend=stage2 |
| 32 | | // target=native |
| 33 | | // |
| 34 | | // :13:16: error: no field named 'arst' in enum 'tmp.Tag__enum_266' |
| 35 | | // :1:13: note: enum declared here |