add compile error test for invalid enum literal implicit cast

See #683
This commit is contained in:
Andrew Kelley
2019-03-24 18:51:24 -04:00
parent da9d8a6ecf
commit 3306e43984
2 changed files with 17 additions and 1 deletions

View File

@@ -2,6 +2,20 @@ const tests = @import("tests.zig");
const builtin = @import("builtin");
pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add(
"cast enum literal to enum but it doesn't match",
\\const Foo = enum {
\\ a,
\\ b,
\\};
\\export fn entry() void {
\\ const x: Foo = .c;
\\}
,
"tmp.zig:6:20: error: enum 'Foo' has no field named 'c'",
"tmp.zig:1:13: note: 'Foo' declared here",
);
cases.add(
"discarding error value",
\\export fn entry() void {