Gremlin fails to build with Zig 0.16.0-dev due to breaking changes in the standard library's filesystem APIs.
Affected APIs:
std.fs.cwd() → std.Io.Dir.cwd() (requires Io instance)
std.fs.openFileAbsolute() → std.Io.Dir.openFileAbsolute(io, ...)
std.fs.realpath() → std.Io.Dir.realPath(io, ...)
std.fs.realpathAlloc() → std.Io.Dir.realPathFileAlloc(dir, io, ...)
Affected Files:
src/parser/entries/buffer.zig
src/parser/parser.zig
src/parser/fs/paths.zig
step.zig
Migration Required:
All file operations now require an Io instance parameter. This requires threading an Io through function signatures or using b.graph.io in build contexts.
Zig Version:
- Currently supports: 0.15.x
- Fails on: 0.16.0-dev.2596+469bf6af0
See: https://ziglang.org/download/ (Zig 0.16.0 introduced event-driven I/O with std.Io)
Gremlin fails to build with Zig 0.16.0-dev due to breaking changes in the standard library's filesystem APIs.
Affected APIs:
std.fs.cwd()→std.Io.Dir.cwd()(requiresIoinstance)std.fs.openFileAbsolute()→std.Io.Dir.openFileAbsolute(io, ...)std.fs.realpath()→std.Io.Dir.realPath(io, ...)std.fs.realpathAlloc()→std.Io.Dir.realPathFileAlloc(dir, io, ...)Affected Files:
src/parser/entries/buffer.zigsrc/parser/parser.zigsrc/parser/fs/paths.zigstep.zigMigration Required:
All file operations now require an
Ioinstance parameter. This requires threading anIothrough function signatures or usingb.graph.ioin build contexts.Zig Version:
See: https://ziglang.org/download/ (Zig 0.16.0 introduced event-driven I/O with
std.Io)