update docs/tests for async/extern fn removal

This commit is contained in:
Tadeo Kondrak 2020-05-04 10:50:11 -06:00
parent 6745a6f6f6
commit 84a0a9688c
No known key found for this signature in database
GPG key ID: D41E092CA43F1D8B
5 changed files with 19 additions and 18 deletions

View file

@ -6713,7 +6713,7 @@ const assert = std.debug.assert;
test "async fn pointer in a struct field" { test "async fn pointer in a struct field" {
var data: i32 = 1; var data: i32 = 1;
const Foo = struct { const Foo = struct {
bar: async fn (*i32) void, bar: fn (*i32) callconv(.Async) void,
}; };
var foo = Foo{ .bar = func }; var foo = Foo{ .bar = func };
var bytes: [64]u8 align(@alignOf(@Frame(func))) = undefined; var bytes: [64]u8 align(@alignOf(@Frame(func))) = undefined;
@ -6723,7 +6723,7 @@ test "async fn pointer in a struct field" {
assert(data == 4); assert(data == 4);
} }
async fn func(y: *i32) void { fn func(y: *i32) void {
defer y.* += 2; defer y.* += 2;
y.* += 1; y.* += 1;
suspend; suspend;

View file

@ -2910,6 +2910,7 @@ test "zig fmt: noasync to nosuspend" {
\\pub fn main() void { \\pub fn main() void {
\\ nosuspend call(); \\ nosuspend call();
\\} \\}
\\
); );
} }

View file

@ -802,7 +802,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
}); });
cases.add("exported async function", cases.add("exported async function",
\\export async fn foo() void {} \\export fn foo() callconv(.Async) void {}
, &[_][]const u8{ , &[_][]const u8{
"tmp.zig:1:1: error: exported function cannot be async", "tmp.zig:1:1: error: exported function cannot be async",
}); });
@ -1281,11 +1281,11 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add("bad alignment in @asyncCall", cases.add("bad alignment in @asyncCall",
\\export fn entry() void { \\export fn entry() void {
\\ var ptr: async fn () void = func; \\ var ptr: fn () callconv(.Async) void = func;
\\ var bytes: [64]u8 = undefined; \\ var bytes: [64]u8 = undefined;
\\ _ = @asyncCall(&bytes, {}, ptr); \\ _ = @asyncCall(&bytes, {}, ptr);
\\} \\}
\\async fn func() void {} \\fn func() callconv(.Async) void {}
, &[_][]const u8{ , &[_][]const u8{
"tmp.zig:4:21: error: expected type '[]align(16) u8', found '*[64]u8'", "tmp.zig:4:21: error: expected type '[]align(16) u8', found '*[64]u8'",
}); });
@ -1431,7 +1431,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\export fn entry() void { \\export fn entry() void {
\\ _ = async amain(); \\ _ = async amain();
\\} \\}
\\async fn amain() void { \\fn amain() callconv(.Async) void {
\\ other(); \\ other();
\\} \\}
\\fn other() void { \\fn other() void {
@ -1447,7 +1447,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\export fn entry() void { \\export fn entry() void {
\\ _ = async amain(); \\ _ = async amain();
\\} \\}
\\async fn amain() void { \\fn amain() callconv(.Async) void {
\\ var x: [@sizeOf(@Frame(amain))]u8 = undefined; \\ var x: [@sizeOf(@Frame(amain))]u8 = undefined;
\\} \\}
, &[_][]const u8{ , &[_][]const u8{
@ -1474,7 +1474,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\ var ptr = afunc; \\ var ptr = afunc;
\\ _ = ptr(); \\ _ = ptr();
\\} \\}
\\async fn afunc() void {} \\fn afunc() callconv(.Async) void {}
, &[_][]const u8{ , &[_][]const u8{
"tmp.zig:6:12: error: function is not comptime-known; @asyncCall required", "tmp.zig:6:12: error: function is not comptime-known; @asyncCall required",
}); });
@ -1485,7 +1485,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\ _ = async ptr(); \\ _ = async ptr();
\\} \\}
\\ \\
\\async fn afunc() void { } \\fn afunc() callconv(.Async) void { }
, &[_][]const u8{ , &[_][]const u8{
"tmp.zig:3:15: error: function is not comptime-known; @asyncCall required", "tmp.zig:3:15: error: function is not comptime-known; @asyncCall required",
}); });
@ -3074,7 +3074,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\export fn entry() void { \\export fn entry() void {
\\ _ = async foo(); \\ _ = async foo();
\\} \\}
\\async fn foo() void { \\fn foo() void {
\\ suspend { \\ suspend {
\\ suspend { \\ suspend {
\\ } \\ }
@ -3122,7 +3122,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\export fn entry() void { \\export fn entry() void {
\\ _ = async amain(); \\ _ = async amain();
\\} \\}
\\async fn amain() void { \\fn amain() callconv(.Async) void {
\\ return error.ShouldBeCompileError; \\ return error.ShouldBeCompileError;
\\} \\}
, &[_][]const u8{ , &[_][]const u8{
@ -3592,7 +3592,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
}); });
cases.add("attempt to use 0 bit type in extern fn", cases.add("attempt to use 0 bit type in extern fn",
\\extern fn foo(ptr: extern fn(*void) void) void; \\extern fn foo(ptr: fn(*void) callconv(.C) void) void;
\\ \\
\\export fn entry() void { \\export fn entry() void {
\\ foo(bar); \\ foo(bar);
@ -3603,7 +3603,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\ bar(&{}); \\ bar(&{});
\\} \\}
, &[_][]const u8{ , &[_][]const u8{
"tmp.zig:1:30: error: parameter of type '*void' has 0 bits; not allowed in function with calling convention 'C'", "tmp.zig:1:23: error: parameter of type '*void' has 0 bits; not allowed in function with calling convention 'C'",
"tmp.zig:7:11: error: parameter of type '*void' has 0 bits; not allowed in function with calling convention 'C'", "tmp.zig:7:11: error: parameter of type '*void' has 0 bits; not allowed in function with calling convention 'C'",
}); });

View file

@ -282,7 +282,7 @@ pub fn addCases(cases: *tests.CompareOutputContext) void {
\\ var ptr = other; \\ var ptr = other;
\\ var frame = @asyncCall(&bytes, {}, ptr); \\ var frame = @asyncCall(&bytes, {}, ptr);
\\} \\}
\\async fn other() void { \\fn other() callconv(.Async) void {
\\ suspend; \\ suspend;
\\} \\}
); );
@ -874,16 +874,16 @@ pub fn addCases(cases: *tests.CompareOutputContext) void {
\\ return &failing_frame; \\ return &failing_frame;
\\} \\}
\\ \\
\\async fn failing() anyerror!void { \\fn failing() anyerror!void {
\\ suspend; \\ suspend;
\\ return second(); \\ return second();
\\} \\}
\\ \\
\\async fn second() anyerror!void { \\fn second() callconv(.Async) anyerror!void {
\\ return error.Fail; \\ return error.Fail;
\\} \\}
\\ \\
\\async fn printTrace(p: anyframe->anyerror!void) void { \\fn printTrace(p: anyframe->anyerror!void) void {
\\ (await p) catch unreachable; \\ (await p) catch unreachable;
\\} \\}
); );

View file

@ -282,7 +282,7 @@ pub fn addCases(cases: *tests.StackTracesContext) void {
\\source.zig:10:8: [address] in main (test) \\source.zig:10:8: [address] in main (test)
\\ foo(); \\ foo();
\\ ^ \\ ^
\\start.zig:250:29: [address] in std.start.posixCallMainAndExit (test) \\start.zig:249:29: [address] in std.start.posixCallMainAndExit (test)
\\ return root.main(); \\ return root.main();
\\ ^ \\ ^
\\start.zig:123:5: [address] in std.start._start (test) \\start.zig:123:5: [address] in std.start._start (test)