aboutsummaryrefslogtreecommitdiff
path: root/test/compile_errors.zig
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2018-06-18 18:48:29 -0400
committerAndrew Kelley <superjoe30@gmail.com>2018-06-18 18:48:29 -0400
commit626b73e8beeaae1cab23f883f877d89d64bbfa39 (patch)
tree4ed0ee57e00134f34656e759282b5c0e771726b2 /test/compile_errors.zig
parenta430853a48a5e4dbcd0094c632957e28898159f3 (diff)
downloadzig-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.zig38
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();