authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-02-26 19:41:36-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-02-26 19:41:36-05:00
log763357c9c3e8feba34a932c60b55f2224989f2d4
tree2bf21b2abea746a49988363a703e847f994b99fa
parentd5fc826437e16653087d023388f8d6a230a71d68
signaturelock-open Commit is signed but in an unrecognized format.

add test coverage for type used as switch case

closes #996

1 files changed, 19 insertions(+), 0 deletions(-)

test/compile_errors.zig+19
......@@ -2,6 +2,25 @@ const tests = @import("tests.zig");
22const builtin = @import("builtin");
33
44pub fn addCases(cases: *tests.CompileErrorContext) void {
5 cases.addTest(
6 "not an enum type",
7 \\export fn entry() void {
8 \\ var self: Error = undefined;
9 \\ switch (self) {
10 \\ InvalidToken => |x| return x.token,
11 \\ ExpectedVarDeclOrFn => |x| return x.token,
12 \\ }
13 \\}
14 \\const Error = union(enum) {
15 \\ A: InvalidToken,
16 \\ B: ExpectedVarDeclOrFn,
17 \\};
18 \\const InvalidToken = struct {};
19 \\const ExpectedVarDeclOrFn = struct {};
20 ,
21 ".tmp_source.zig:4:9: error: not an enum type",
22 );
23
524 cases.addTest(
625 "binary OR operator on error sets",
726 \\pub const A = error.A;