Repository navigation
Conversation
0.17 drops `**`, findProgram's two-slice form, b.install_prefix and b.build_root, std.builtin.Type.UnionField, and @typeinfo's decls list, which is now decl_names. The rest is zig fmt's own upgrade to @backingInt and @fromBackingInt. @hasDecl now sees only pub decls, even from the same file, so the "Stream decls" tests returned before checking anything: S is private. Every type that runs them has S, so the guard is gone. The prefix in libxev.pc is no longer known when build.zig runs; it is relative to the .pc file instead. build.zig declares the directories it lists, so a new example, benchmark or man page reruns it. Assisted-by: Claude Opus 5.5
Most of CI builds inside the flake, so it takes 0.17.0 from a zig-overlay revision that has it. libxev.pc now finds its prefix relative to itself, and nix moves it into the dev output, apart from the libraries in $out; the package sets the prefix back to $out. Assisted-by: Claude Opus 5.5
aherrmann
added a commit
to hermeticbuild/rules_zig
that referenced
this pull request
Oct 7, 2026
Pinned to a commit requiring Zig 0.17.0: mitchellh/libxev#250
aherrmann
added a commit
to hermeticbuild/rules_zig
that referenced
this pull request
Oct 8, 2026
Pinned to a commit requiring Zig 0.17.0: mitchellh/libxev#250
aherrmann
added a commit
to hermeticbuild/rules_zig
that referenced
this pull request
Oct 8, 2026
Pinned to a commit requiring Zig 0.17.0: mitchellh/libxev#250
aherrmann
added a commit
to hermeticbuild/rules_zig
that referenced
this pull request
Oct 8, 2026
Pinned to a commit requiring Zig 0.17.0: mitchellh/libxev#250
aherrmann
added a commit
to hermeticbuild/rules_zig
that referenced
this pull request
Oct 8, 2026
Pinned to a commit requiring Zig 0.17.0: mitchellh/libxev#250
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #248.
Builds and tests on Zig 0.17.0, which this makes the minimum.
**is gone: test arrays use@splat.b.findProgramtakes.{ .names = ... }and returns an optional.b.install_prefixisn't known when build.zig runs any more, solibxev.pcsetsprefix=${pcfiledir}/../.., relative to where it isinstalled. The nix package moves the
.pcinto itsdevoutput, away fromthe libraries, so
nix/package.nixsets the prefix back to$out.b.build_rootisb.root, a path. build.zig declares the directories itlists (
src/bench,examples,docs) withdependOnDirectoryContents,so adding a file to one reruns it under 0.17's configure cache.
@typeInfo(...).@"struct".declsisdecl_names;std.builtin.Type.UnionField.Attributesisstd.lang.Type.Union.FieldAttributes.zig fmtupgraded@intFromEnum/@enumFromIntto@backingInt/@fromBackingInt.One behaviour change to know about:
@hasDeclnow sees onlypubdecls,even from the same file. The "Stream decls" tests began with
if (!@hasDecl(Impl, "S")) return;, andSis private, so on 0.17 theyreturned before checking anything. Every type that runs them has
S, so theguard is gone and they check again.
The flake takes 0.17.0 from the zig-overlay (
nix flake update zig, todcffc7a); nothing else in the lock moved.
Tested:
zig build teston macOS (59 pass) and on Linux aarch64 with epolland io_uring (143 pass, 3 skipped), the examples and benchmarks, and a build
for each CI target (aarch64/x86_64 Linux gnu and musl, aarch64/x86_64 macOS,
x86_64 Windows). The same counts as main on 0.16. In a
nixos/nixcontainer (aarch64-linux):
nix flake check, the dev shell'szig buildforevery CI target, its tests (143 pass, 3 skipped), examples and benchmarks,
and
nix build, whoselibxev.pcresolves to thedevoutput's headers and$out's libraries.🤖 Generated with Claude Code