diff --git a/test/compile_errors.zig b/test/compile_errors.zig index 81e47e171a..1e6dc84605 100644 --- a/test/compile_errors.zig +++ b/test/compile_errors.zig @@ -2,6 +2,25 @@ const tests = @import("tests.zig"); const builtin = @import("builtin"); pub fn addCases(cases: *tests.CompileErrorContext) void { + cases.addTest( + "not an enum type", + \\export fn entry() void { + \\ var self: Error = undefined; + \\ switch (self) { + \\ InvalidToken => |x| return x.token, + \\ ExpectedVarDeclOrFn => |x| return x.token, + \\ } + \\} + \\const Error = union(enum) { + \\ A: InvalidToken, + \\ B: ExpectedVarDeclOrFn, + \\}; + \\const InvalidToken = struct {}; + \\const ExpectedVarDeclOrFn = struct {}; + , + ".tmp_source.zig:4:9: error: not an enum type", + ); + cases.addTest( "binary OR operator on error sets", \\pub const A = error.A;