diff options
| author | Isaac Hier <isaachier@gmail.com> | 2018-07-04 13:27:10 -0400 |
|---|---|---|
| committer | Isaac Hier <isaachier@gmail.com> | 2018-07-04 13:27:10 -0400 |
| commit | 9cff23dbf9ff3da716a1c4397f9411eba09f6cac (patch) | |
| tree | ebde3411341a755db5a13b13b9324dd99e8e0a51 /test | |
| parent | 9395162a7c41689bcd1c0c48f9eabffc1485fc74 (diff) | |
| download | zig-9cff23dbf9ff3da716a1c4397f9411eba09f6cac.tar.gz zig-9cff23dbf9ff3da716a1c4397f9411eba09f6cac.zip | |
Fix assertion crash on enum switch values
Diffstat (limited to 'test')
| -rw-r--r-- | test/behavior.zig | 1 | ||||
| -rw-r--r-- | test/cases/switch_usize_enum_prongs.zig | 11 | ||||
| -rw-r--r-- | test/compile_errors.zig | 18 |
3 files changed, 18 insertions, 12 deletions
diff --git a/test/behavior.zig b/test/behavior.zig index 803d4a5a08..d47eb8fd6c 100644 --- a/test/behavior.zig +++ b/test/behavior.zig @@ -52,7 +52,6 @@ comptime { _ = @import("cases/switch.zig"); _ = @import("cases/switch_prong_err_enum.zig"); _ = @import("cases/switch_prong_implicit_cast.zig"); - _ = @import("cases/switch_usize_enum_prongs.zig"); _ = @import("cases/syntax.zig"); _ = @import("cases/this.zig"); _ = @import("cases/try.zig"); diff --git a/test/cases/switch_usize_enum_prongs.zig b/test/cases/switch_usize_enum_prongs.zig deleted file mode 100644 index b49615e887..0000000000 --- a/test/cases/switch_usize_enum_prongs.zig +++ /dev/null @@ -1,11 +0,0 @@ -const E = enum(usize) { One, Two }; - -test "aoeou" { - foo(1); -} - -fn foo(x: usize) void { - switch (x) { - E.One => {}, - } -} diff --git a/test/compile_errors.zig b/test/compile_errors.zig index 7291a48a8f..8bd5480395 100644 --- a/test/compile_errors.zig +++ b/test/compile_errors.zig @@ -358,6 +358,24 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { ".tmp_source.zig:3:14: note: other value is here", ); + + cases.add( + "invalid cast from integral type to enum", + \\const E = enum(usize) { One, Two }; + \\ + \\export fn entry() void { + \\ foo(1); + \\} + \\ + \\fn foo(x: usize) void { + \\ switch (x) { + \\ E.One => {}, + \\ } + \\} + , + ".tmp_source.zig:9:10: error: expected type 'usize', found 'E'" + ); + cases.add( "range operator in switch used on error set", \\export fn entry() void { |
