Skip to content

Zig 0.16 Compatibility#220

Merged
mitchellh merged 1 commit intomainfrom
zig-0-16
Apr 17, 2026
Merged

Zig 0.16 Compatibility#220
mitchellh merged 1 commit intomainfrom
zig-0-16

Conversation

@mitchellh
Copy link
Copy Markdown
Owner

This makes libxev work with Zig 0.16.

Fair warning that this is messy. The goal was to keep libxev working with minimal external API changes. That means we don't play nicely with std.Io yet and I'm not 100% sure what the path forward is for that since in many ways libxev is an alternate implementation but std.Io doesn't have full coverage for our functionality so we can't simply switch to it either.

In cases wher we need an Io here, I use the global single threaded Io which preserves the Zig 0.15 behavior. Like I said, the goal is to get people who use libxev (including me) upgraded to 0.16, not to fully adapt to the new idioms.

Particularly nasty is the large amount of shims we need in src/posix.zig and src/windows.zig to address removed APIs from Zig.

@mitchellh mitchellh force-pushed the zig-0-16 branch 3 times, most recently from b0650f0 to 9e24364 Compare April 17, 2026 18:41
This makes libxev work with Zig 0.16.

**Fair warning that this is messy.** The goal was to keep libxev working
with minimal external API changes. That means we don't play nicely with
`std.Io` yet and I'm not 100% sure what the path forward is for that since
in many ways libxev is an alternate implementation but std.Io doesn't have
full coverage for our functionality so we can't simply switch to it
either.

In cases wher we need an Io here, I use the global single threaded Io
which preserves the Zig 0.15 behavior. Like I said, the goal is to get
people who use libxev (including me) upgraded to 0.16, not to fully
adapt to the new idioms.

Particularly nasty is the large amount of shims we need in `src/posix.zig`
and `src/windows.zig` to address removed APIs from Zig.
This was referenced Apr 17, 2026
@mitchellh mitchellh merged commit a82a04e into main Apr 17, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant