diff --git a/build.zig b/build.zig index a321dd31c22a33e939e18455216edd06a5f3ea24..c1e71ffa5c4dfd097f456120fb0f0d7f4be84be7 100644 --- a/build.zig +++ b/build.zig @@ -2,7 +2,7 @@ const std = @import("std"); pub fn build(b: *std.Build) void { const target = b.standardTargetOptions(.{}); - const mode = b.option(std.builtin.Mode, "mode", "") orelse .Debug; + const mode = b.option(std.builtin.OptimizeMode, "mode", "") orelse .Debug; const disable_llvm = b.option(bool, "disable_llvm", "use the non-llvm zig codegen") orelse false; const mod = b.addModule("extras", .{ @@ -10,9 +10,11 @@ pub fn build(b: *std.Build) void { }); const tests = b.addTest(.{ - .root_source_file = b.path("src/lib.zig"), - .target = target, - .optimize = mode, + .root_module = b.createModule(.{ + .root_source_file = b.path("src/lib.zig"), + .target = target, + .optimize = mode, + }), }); tests.root_module.addImport("extras", mod); tests.use_llvm = !disable_llvm; diff --git a/src/FixedMaxBuffer.zig b/src/FixedMaxBuffer.zig index 7fe9f4878f09438c015a130fd77bc5a0007e2913..210b6c7d16de3ababce2b5dacb8f7e622a2a8a12 100644 --- a/src/FixedMaxBuffer.zig +++ b/src/FixedMaxBuffer.zig @@ -10,7 +10,7 @@ pub fn FixedMaxBuffer(comptime max_len: usize) type { pos: usize, const Self = @This(); - pub const Reader = std.io.Reader(*Self, error{}, read); + pub const Reader = std.io.GenericReader(*Self, error{}, read); pub fn init(r: anytype, runtime_len: usize) !Self { var fmr = Self{ diff --git a/src/fmtByteCountIEC.zig b/src/fmtByteCountIEC.zig index fa494cc8df5553af88d71f6994d50dc6abe5c769..97a6b574c549099cf0810e64224a71150d37274d 100644 --- a/src/fmtByteCountIEC.zig +++ b/src/fmtByteCountIEC.zig @@ -12,14 +12,14 @@ fn formatByteCountIEC(bytes: u64, writer: *std.Io.Writer) !void { } test { - try std.testing.expectFmt("1 B", "{}", .{fmtByteCountIEC(std.math.pow(u64, 1024, 0))}); + try std.testing.expectFmt("1 B", "{f}", .{fmtByteCountIEC(std.math.pow(u64, 1024, 0))}); } test { - try std.testing.expectFmt("1.000 KB", "{}", .{fmtByteCountIEC(std.math.pow(u64, 1024, 1))}); + try std.testing.expectFmt("1.000 KB", "{f}", .{fmtByteCountIEC(std.math.pow(u64, 1024, 1))}); } test { - try std.testing.expectFmt("1.000 MB", "{}", .{fmtByteCountIEC(std.math.pow(u64, 1024, 2))}); + try std.testing.expectFmt("1.000 MB", "{f}", .{fmtByteCountIEC(std.math.pow(u64, 1024, 2))}); } test { - try std.testing.expectFmt("1.000 GB", "{}", .{fmtByteCountIEC(std.math.pow(u64, 1024, 3))}); + try std.testing.expectFmt("1.000 GB", "{f}", .{fmtByteCountIEC(std.math.pow(u64, 1024, 3))}); } diff --git a/src/fmtReplacer.zig b/src/fmtReplacer.zig index 94185122fc9b8673b46b6b35cbfc79297ca6359d..29f0608eecaafeef08c9c0291a95f919be2ee9c3 100644 --- a/src/fmtReplacer.zig +++ b/src/fmtReplacer.zig @@ -2,7 +2,7 @@ const std = @import("std"); const string = []const u8; const extras = @import("./lib.zig"); -pub fn fmtReplacer(bytes: string, from: u8, to: u8) std.fmt.Formatter(formatReplacer) { +pub fn fmtReplacer(bytes: string, from: u8, to: u8) std.fmt.Alt(FormatData, formatReplacer) { return .{ .data = .{ .bytes = bytes, .from = from, @@ -18,12 +18,8 @@ const FormatData = struct { fn formatReplacer( self: FormatData, - comptime fmt: []const u8, - options: std.fmt.FormatOptions, - writer: anytype, + writer: *std.Io.Writer, ) !void { - _ = fmt; - _ = options; for (self.bytes) |c| { try writer.writeByte(if (c == self.from) self.to else @intCast(c)); } @@ -32,5 +28,5 @@ fn formatReplacer( test { const in = "C:\\Program Files\\Custom Utilities\\StringFinder.exe"; const out = "C:/Program Files/Custom Utilities/StringFinder.exe"; - try std.testing.expectFmt(out, "{}", .{fmtReplacer(in, '\\', '/')}); + try std.testing.expectFmt(out, "{f}", .{fmtReplacer(in, '\\', '/')}); } diff --git a/src/mapBy.zig b/src/mapBy.zig index 3038acd543c3ccfc0b988e7c741d6e7edb455fa5..6f063b0da9f63999a2be1de23c9a7e10f451b14f 100644 --- a/src/mapBy.zig +++ b/src/mapBy.zig @@ -2,8 +2,8 @@ const std = @import("std"); const string = []const u8; const extras = @import("./lib.zig"); -pub fn mapBy(allocator: std.mem.Allocator, slice: anytype, comptime field: std.meta.FieldEnum(std.meta.Elem(@TypeOf(slice)))) ![]std.meta.FieldType(std.meta.Elem(@TypeOf(slice)), field) { - const newslice = try allocator.alloc(std.meta.FieldType(std.meta.Elem(@TypeOf(slice)), field), slice.len); +pub fn mapBy(allocator: std.mem.Allocator, slice: anytype, comptime field: std.meta.FieldEnum(std.meta.Elem(@TypeOf(slice)))) ![]@FieldType(std.meta.Elem(@TypeOf(slice)), @tagName(field)) { + const newslice = try allocator.alloc(@FieldType(std.meta.Elem(@TypeOf(slice)), @tagName(field)), slice.len); for (newslice, slice) |*i, j| i.* = @field(j, @tagName(field)); return newslice; } diff --git a/src/pipe.zig b/src/pipe.zig index c636c1514ee073f1e54017bb3bc109379d2a4d29..8f43e87da2a2ea75c9cb2e4400355af817a88b67 100644 --- a/src/pipe.zig +++ b/src/pipe.zig @@ -15,8 +15,8 @@ test { const bytes = "abcdefghijklmnopqrstuvwxyz".*; var fba = std.io.fixedBufferStream(&bytes); const allocator = std.testing.allocator; - var list = std.ArrayList(u8).init(allocator); + var list = std.Io.Writer.Allocating.init(allocator); defer list.deinit(); - try pipe(fba.reader(), list.writer()); - try std.testing.expect(std.mem.eql(u8, &bytes, list.items)); + try pipe(fba.reader(), &list.writer); + try std.testing.expect(std.mem.eql(u8, &bytes, list.written())); } diff --git a/src/reduceNumber.zig b/src/reduceNumber.zig index ad4a73cc8e2a85394bd90730779b1bd49be00d45..b00c4577cf8e0c737bc993512f345edcae4a47f4 100644 --- a/src/reduceNumber.zig +++ b/src/reduceNumber.zig @@ -21,29 +21,29 @@ pub fn reduceNumber(writer: anytype, input: u64, comptime unit: u64, comptime ba test { const allocator = std.testing.allocator; - var list = std.ArrayList(u8).init(allocator); + var list = std.Io.Writer.Allocating.init(allocator); defer list.deinit(); - try reduceNumber(list.writer(), 1, 60, "s", "mh"); - try std.testing.expect(std.mem.eql(u8, list.items, "1 s")); + try reduceNumber(&list.writer, 1, 60, "s", "mh"); + try std.testing.expect(std.mem.eql(u8, list.written(), "1 s")); } test { const allocator = std.testing.allocator; - var list = std.ArrayList(u8).init(allocator); + var list = std.Io.Writer.Allocating.init(allocator); defer list.deinit(); - try reduceNumber(list.writer(), 60, 60, "s", "mh"); - try std.testing.expect(std.mem.eql(u8, list.items, "1.000 ms")); + try reduceNumber(&list.writer, 60, 60, "s", "mh"); + try std.testing.expect(std.mem.eql(u8, list.written(), "1.000 ms")); } test { const allocator = std.testing.allocator; - var list = std.ArrayList(u8).init(allocator); + var list = std.Io.Writer.Allocating.init(allocator); defer list.deinit(); - try reduceNumber(list.writer(), 3600, 60, "s", "mh"); - try std.testing.expect(std.mem.eql(u8, list.items, "1.000 hs")); + try reduceNumber(&list.writer, 3600, 60, "s", "mh"); + try std.testing.expect(std.mem.eql(u8, list.written(), "1.000 hs")); } test { const allocator = std.testing.allocator; - var list = std.ArrayList(u8).init(allocator); + var list = std.Io.Writer.Allocating.init(allocator); defer list.deinit(); - try reduceNumber(list.writer(), 216000, 60, "s", "mh"); - try std.testing.expect(std.mem.eql(u8, list.items, "60.000 hs")); + try reduceNumber(&list.writer, 216000, 60, "s", "mh"); + try std.testing.expect(std.mem.eql(u8, list.written(), "60.000 hs")); }