From 6f103922a8133ba11773e6ad9a52e26e1d99b3e7 Mon Sep 17 00:00:00 2001 From: Ivan Stepanov Date: Sun, 20 Jul 2025 21:40:56 +0200 Subject: Update to Zig 0.15.0-dev.1147 --- example/help.zig | 8 ++++++-- example/simple-ex.zig | 6 +++++- example/simple.zig | 6 ++++-- example/streaming-clap.zig | 6 ++++-- example/subcommands.zig | 13 +++++++++---- example/usage.zig | 9 +++++++-- 6 files changed, 35 insertions(+), 13 deletions(-) (limited to 'example') diff --git a/example/help.zig b/example/help.zig index b80ee35..676a56a 100644 --- a/example/help.zig +++ b/example/help.zig @@ -17,8 +17,12 @@ pub fn main() !void { // where `Id` has a `description` and `value` method (`Param(Help)` is one such parameter). // The last argument contains options as to how `help` should print those parameters. Using // `.{}` means the default options. - if (res.args.help != 0) - return clap.help(std.io.getStdErr().writer(), clap.Help, ¶ms, .{}); + if (res.args.help != 0) { + var buf: [1024]u8 = undefined; + var stderr = std.fs.File.stderr().writer(&buf); + try clap.help(&stderr.interface, clap.Help, ¶ms, .{}); + return stderr.interface.flush(); + } } const clap = @import("clap"); diff --git a/example/simple-ex.zig b/example/simple-ex.zig index 22f657f..a993868 100644 --- a/example/simple-ex.zig +++ b/example/simple-ex.zig @@ -31,7 +31,11 @@ pub fn main() !void { // allowed. .assignment_separators = "=:", }) catch |err| { - diag.report(std.io.getStdErr().writer(), err) catch {}; + // Report useful error and exit. + var buf: [1024]u8 = undefined; + var stderr = std.fs.File.stderr().writer(&buf); + try diag.report(&stderr.interface, err); + try stderr.interface.flush(); return err; }; defer res.deinit(); diff --git a/example/simple.zig b/example/simple.zig index 2b7bf0a..ca6bd75 100644 --- a/example/simple.zig +++ b/example/simple.zig @@ -21,8 +21,10 @@ pub fn main() !void { .allocator = gpa.allocator(), }) catch |err| { // Report useful error and exit. - diag.report(std.io.getStdErr().writer(), err) catch {}; - return err; + var buf: [1024]u8 = undefined; + var stderr = std.fs.File.stderr().writer(&buf); + try diag.report(&stderr.interface, err); + return stderr.interface.flush(); }; defer res.deinit(); diff --git a/example/streaming-clap.zig b/example/streaming-clap.zig index 054c401..d60167c 100644 --- a/example/streaming-clap.zig +++ b/example/streaming-clap.zig @@ -34,8 +34,10 @@ pub fn main() !void { // Because we use a streaming parser, we have to consume each argument parsed individually. while (parser.next() catch |err| { // Report useful error and exit. - diag.report(std.io.getStdErr().writer(), err) catch {}; - return err; + var buf: [1024]u8 = undefined; + var stderr = std.fs.File.stderr().writer(&buf); + try diag.report(&stderr.interface, err); + return stderr.interface.flush(); }) |arg| { // arg.param will point to the parameter which matched the argument. switch (arg.param.id) { diff --git a/example/subcommands.zig b/example/subcommands.zig index 8223f31..644e371 100644 --- a/example/subcommands.zig +++ b/example/subcommands.zig @@ -41,8 +41,10 @@ pub fn main() !void { // not fully consumed. It can then be reused to parse the arguments for subcommands. .terminating_positional = 0, }) catch |err| { - diag.report(std.io.getStdErr().writer(), err) catch {}; - return err; + var buf: [1024]u8 = undefined; + var stderr = std.fs.File.stderr().writer(&buf); + try diag.report(&stderr.interface, err); + return stderr.interface.flush(); }; defer res.deinit(); @@ -77,8 +79,11 @@ fn mathMain(gpa: std.mem.Allocator, iter: *std.process.ArgIterator, main_args: M .diagnostic = &diag, .allocator = gpa, }) catch |err| { - diag.report(std.io.getStdErr().writer(), err) catch {}; - return err; + var buf: [1024]u8 = undefined; + var stderr = std.fs.File.stderr().writer(&buf); + try diag.report(&stderr.interface, err); + try stderr.interface.flush(); + return err; // propagate error }; defer res.deinit(); diff --git a/example/usage.zig b/example/usage.zig index 59ac84a..8bd25b7 100644 --- a/example/usage.zig +++ b/example/usage.zig @@ -16,8 +16,13 @@ pub fn main() !void { // `clap.usage` is a function that can print a simple help message. It can print any `Param` // where `Id` has a `value` method (`Param(Help)` is one such parameter). - if (res.args.help != 0) - return clap.usage(std.io.getStdErr().writer(), clap.Help, ¶ms); + if (res.args.help != 0) { + var buf: [1024]u8 = undefined; + var stderr = std.fs.File.stderr().writer(&buf); + clap.usage(&stderr.interface, clap.Help, ¶ms) catch {}; + try stderr.interface.flush(); + return; + } } const clap = @import("clap"); -- cgit v1.2.3