Skip to content

Zig tracking issue #58

Open
Open
@zenith391

Description

@zenith391

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 and capy.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 generic fn 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 of struct { fn a() void {} }.a

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions