diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2017-05-07 13:40:35 -0400 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2017-05-07 13:40:35 -0400 |
| commit | 7261cd19b78367d78f758f7ade370efbc3e25237 (patch) | |
| tree | 750ec114dd9c6c15552796001e95d2f355b4f7ae /test/compile_errors.zig | |
| parent | dc2df155285576b8da621fbffac451c036af0ed0 (diff) | |
| download | zig-7261cd19b78367d78f758f7ade370efbc3e25237.tar.gz zig-7261cd19b78367d78f758f7ade370efbc3e25237.zip | |
detect duplicate switch value even when else prong present
closes #43
Diffstat (limited to 'test/compile_errors.zig')
| -rw-r--r-- | test/compile_errors.zig | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/compile_errors.zig b/test/compile_errors.zig index 54ab8444b8..6cce0c89bd 100644 --- a/test/compile_errors.zig +++ b/test/compile_errors.zig @@ -581,6 +581,28 @@ pub fn addCases(cases: &tests.CompileErrorContext) { , ".tmp_source.zig:13:15: error: duplicate switch value", ".tmp_source.zig:10:15: note: other value is here"); + cases.add("switch expression - duplicate enumeration prong when else present", + \\const Number = enum { + \\ One, + \\ Two, + \\ Three, + \\ Four, + \\}; + \\fn f(n: Number) -> i32 { + \\ switch (n) { + \\ Number.One => 1, + \\ Number.Two => 2, + \\ Number.Three => i32(3), + \\ Number.Four => 4, + \\ Number.Two => 2, + \\ else => 10, + \\ } + \\} + \\ + \\export fn entry() -> usize { @sizeOf(@typeOf(f)) } + , ".tmp_source.zig:13:15: error: duplicate switch value", + ".tmp_source.zig:10:15: note: other value is here"); + cases.add("switch expression - multiple else prongs", \\fn f(x: u32) { \\ const value: bool = switch (x) { |
