diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2018-06-18 18:48:29 -0400 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2018-06-18 18:48:29 -0400 |
| commit | 626b73e8beeaae1cab23f883f877d89d64bbfa39 (patch) | |
| tree | 4ed0ee57e00134f34656e759282b5c0e771726b2 /test/compile_errors.zig | |
| parent | a430853a48a5e4dbcd0094c632957e28898159f3 (diff) | |
| download | zig-626b73e8beeaae1cab23f883f877d89d64bbfa39.tar.gz zig-626b73e8beeaae1cab23f883f877d89d64bbfa39.zip | |
remove error to/from int casting syntax; add `@errorToInt`/`@intToError`
See #1061
Diffstat (limited to 'test/compile_errors.zig')
| -rw-r--r-- | test/compile_errors.zig | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/test/compile_errors.zig b/test/compile_errors.zig index 2f4a22553b..866b303082 100644 --- a/test/compile_errors.zig +++ b/test/compile_errors.zig @@ -467,25 +467,34 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { cases.add( "int to err global invalid number", - \\const Set1 = error{A, B}; + \\const Set1 = error{ + \\ A, + \\ B, + \\}; \\comptime { - \\ var x: usize = 3; - \\ var y = error(x); + \\ var x: u16 = 3; + \\ var y = @intToError(x); \\} , - ".tmp_source.zig:4:18: error: integer value 3 represents no error", + ".tmp_source.zig:7:13: error: integer value 3 represents no error", ); cases.add( "int to err non global invalid number", - \\const Set1 = error{A, B}; - \\const Set2 = error{A, C}; + \\const Set1 = error{ + \\ A, + \\ B, + \\}; + \\const Set2 = error{ + \\ A, + \\ C, + \\}; \\comptime { - \\ var x = usize(Set1.B); - \\ var y = Set2(x); + \\ var x = @errorToInt(Set1.B); + \\ var y = @errSetCast(Set2, @intToError(x)); \\} , - ".tmp_source.zig:5:17: error: integer value 2 represents no error in 'Set2'", + ".tmp_source.zig:11:13: error: error.B not a member of error set 'Set2'", ); cases.add( @@ -2613,17 +2622,6 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { ); cases.add( - "too many error values to cast to small integer", - \\const Error = error { A, B, C, D, E, F, G, H }; - \\fn foo(e: Error) u2 { - \\ return u2(e); - \\} - \\export fn entry() usize { return @sizeOf(@typeOf(foo)); } - , - ".tmp_source.zig:3:14: error: too many error values to fit in 'u2'", - ); - - cases.add( "asm at compile time", \\comptime { \\ doSomeAsm(); |
