diff options
| author | InKryption <inkryption07@gmail.com> | 2022-09-20 21:40:16 +0200 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2022-09-27 18:38:37 +0300 |
| commit | c75e8f3616d895d213faad5ad2678d3997f17d8a (patch) | |
| tree | e74ecd06d1967eb671527a7cdea508cc3a22d29e /test | |
| parent | c673e6a48a0adee0385767a431cee815f45df160 (diff) | |
| download | zig-c75e8f3616d895d213faad5ad2678d3997f17d8a.tar.gz zig-c75e8f3616d895d213faad5ad2678d3997f17d8a.zip | |
Sema: check that reified enum field values fits tag type.
Diffstat (limited to 'test')
| -rw-r--r-- | test/cases/compile_errors/stage2/reified_enum_field_value_overflow.zig | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/cases/compile_errors/stage2/reified_enum_field_value_overflow.zig b/test/cases/compile_errors/stage2/reified_enum_field_value_overflow.zig new file mode 100644 index 0000000000..ad8596ebcc --- /dev/null +++ b/test/cases/compile_errors/stage2/reified_enum_field_value_overflow.zig @@ -0,0 +1,20 @@ +comptime { + const E = @Type(.{ .Enum = .{ + .layout = .Auto, + .tag_type = u1, + .fields = &.{ + .{ .name = "f0", .value = 0 }, + .{ .name = "f1", .value = 1 }, + .{ .name = "f2", .value = 2 }, + }, + .decls = &.{}, + .is_exhaustive = true, + } }); + _ = E; +} + +// error +// target=native +// backend=stage2 +// +// :2:15: error: field 'f2' with enumeration value '2' is too large for backing int type 'u1' |
