Zig 0.17.0-dev (Split by item) This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig standard library.
std › Io › Uring › AsyncClosure › call Private Function call Doc Source Private Function std.Io.Uring.AsyncClosure.call
fn call (
closure : *AsyncClosure ,
contexts : *const Io .fiber .Switch ,
) callconv (.withStackAlign (.c , @alignOf (AsyncClosure ))) noreturn Params File Io/Uring.zig: 1414
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425 fn call (
closure : *AsyncClosure ,
contexts : *const Io .fiber .Switch ,
) callconv (.withStackAlign (.c , @alignOf (AsyncClosure ))) noreturn {
const message : *const SwitchMessage = @fieldParentPtr ("contexts" , contexts );
const ev = closure .evented ;
const fiber = closure .fiber ;
message .handle (ev );
closure .start (closure .contextPointer (), fiber .resultBytes (closure .result_align ));
ev .yield (@atomicRmw (?*Fiber , &fiber .link .awaiter , .Xchg , Fiber .finished , .acq_rel ), .nothing );
unreachable ; // switched to dead fiber
}