Open
Description
This is a tracking issue for upstream Zig. (see Third Party Tracking Issues)
Overall, Zig is really great and its cross-compilation abilities are great for GUIs, but some (planned) proposals and bug fixes would make it better:
- async/await (regression introduced in stage2). A lot of tasks in user interfaces are asynchronous, whether it's loading a resource or updating data on a remote server, async is important to have. Right now I'm having hacky solutions with
capy.http
which has an async-looking API but is actually synchronous andcapy.assets
which is entirely synchronous as of now, including when fetching resources over HTTP. - issue #12325 (regression introduced in stage2) is blocking me from having event handlers like
fn buttonClicked(button: *capy.Button) !void
instead of a more genericfn buttonClicked(button: *anyopaque) !void
. Having to manually@ptrCast
decreases the ease of use of the API. - The compiler crashes while trying to generate capy's documentation
- (maybe) issue #1717, while it's been closed as not implemented, it would be useful in a lot of cases like
Atom.dependOn
instead of using the bizarre status quo ofstruct { fn a() void {} }.a
Metadata
Metadata
Assignees
Labels
No labels