blob: cd9c975f26fe92c568513696986face937fa611e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
//
// You have doubtless noticed that 'suspend' requires a block
// expression like so:
//
// suspend {}
//
// The suspend block executes when a function suspends. To get
// sense for when this happens, please make the following
// program print the string
//
// "ABCDEF"
//
const print = @import("std").debug.print;
pub fn main() void {
print("A", .{});
var frame = async suspendable();
print("X", .{});
resume frame;
print("F", .{});
}
fn suspendable() void {
print("X", .{});
suspend {
print("X", .{});
}
print("X", .{});
}
|