diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/build_examples.zig | 2 | ||||
| -rw-r--r-- | test/compile_errors.zig | 4 | ||||
| -rw-r--r-- | test/standalone/main_return_error/error_u8.zig | 7 | ||||
| -rw-r--r-- | test/standalone/main_return_error/error_u8_non_zero.zig | 8 |
4 files changed, 19 insertions, 2 deletions
diff --git a/test/build_examples.zig b/test/build_examples.zig index d38336939d..4733a25b64 100644 --- a/test/build_examples.zig +++ b/test/build_examples.zig @@ -7,6 +7,8 @@ pub fn addCases(cases: *tests.BuildExamplesContext) void { cases.addC("example/hello_world/hello_libc.zig"); cases.add("example/cat/main.zig"); cases.add("example/guess_number/main.zig"); + cases.add("test/standalone/main_return_error/error_u8.zig"); + cases.add("test/standalone/main_return_error/error_u8_non_zero.zig"); cases.addBuildFile("test/standalone/main_pkg_path/build.zig"); cases.addBuildFile("example/shared_library/build.zig"); cases.addBuildFile("example/mix_o_files/build.zig"); diff --git a/test/compile_errors.zig b/test/compile_errors.zig index e0ac76bbf0..6631200210 100644 --- a/test/compile_errors.zig +++ b/test/compile_errors.zig @@ -2213,7 +2213,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { "wrong return type for main", \\pub fn main() f32 { } , - "error: expected return type of main to be 'u8', 'noreturn', 'void', or '!void'", + "error: expected return type of main to be 'u8', 'noreturn', 'void', '!void', or '!u8'", ); cases.add( @@ -2221,7 +2221,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { \\pub fn main() ??void { \\} , - "error: expected return type of main to be 'u8', 'noreturn', 'void', or '!void'", + "error: expected return type of main to be 'u8', 'noreturn', 'void', '!void', or '!u8'", ); cases.add( diff --git a/test/standalone/main_return_error/error_u8.zig b/test/standalone/main_return_error/error_u8.zig new file mode 100644 index 0000000000..4edac26afd --- /dev/null +++ b/test/standalone/main_return_error/error_u8.zig @@ -0,0 +1,7 @@ +const Err = error { + Foo +}; + +pub fn main() !u8 { + return Err.Foo; +} diff --git a/test/standalone/main_return_error/error_u8_non_zero.zig b/test/standalone/main_return_error/error_u8_non_zero.zig new file mode 100644 index 0000000000..703a19b314 --- /dev/null +++ b/test/standalone/main_return_error/error_u8_non_zero.zig @@ -0,0 +1,8 @@ +const Err = error { Foo }; + +fn foo() u8 { var x = @intCast(u8, 9); return x; } + +pub fn main() !u8 { + if (foo() == 7) return Err.Foo; + return 123; +} |
