Skip to content

Commit e12dc49

Browse files
cursedquailandrewrk
authored andcommitted
std.zig: fmtId returns a FormatId
Changes fmtId to return the FormatId type directly, and renames the FormatId.render function to FormatId.format, so it can be used in a format expression directly. Why? Since `render` is private, you can't create functions that wrap `fmtId` or `fmtIdFlags`, since you can't name the return type of those functions outside of std itself. The current setup _might_ be intentional? In which case I can live with it, but I figured I'd make a small contrib to upstream zig :)
1 parent 04614d6 commit e12dc49

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

lib/std/zig.zig

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -385,23 +385,23 @@ pub fn serializeCpuAlloc(ally: Allocator, cpu: std.Target.Cpu) Allocator.Error![
385385
/// Return a Formatter for a Zig identifier, escaping it with `@""` syntax if needed.
386386
///
387387
/// See also `fmtIdFlags`.
388-
pub fn fmtId(bytes: []const u8) std.fmt.Formatter(FormatId, FormatId.render) {
389-
return .{ .data = .{ .bytes = bytes, .flags = .{} } };
388+
pub fn fmtId(bytes: []const u8) FormatId {
389+
return .{ .bytes = bytes, .flags = .{} };
390390
}
391391

392392
/// Return a Formatter for a Zig identifier, escaping it with `@""` syntax if needed.
393393
///
394394
/// See also `fmtId`.
395-
pub fn fmtIdFlags(bytes: []const u8, flags: FormatId.Flags) std.fmt.Formatter(FormatId, FormatId.render) {
396-
return .{ .data = .{ .bytes = bytes, .flags = flags } };
395+
pub fn fmtIdFlags(bytes: []const u8, flags: FormatId.Flags) FormatId {
396+
return .{ .bytes = bytes, .flags = flags };
397397
}
398398

399-
pub fn fmtIdPU(bytes: []const u8) std.fmt.Formatter(FormatId, FormatId.render) {
400-
return .{ .data = .{ .bytes = bytes, .flags = .{ .allow_primitive = true, .allow_underscore = true } } };
399+
pub fn fmtIdPU(bytes: []const u8) FormatId {
400+
return .{ .bytes = bytes, .flags = .{ .allow_primitive = true, .allow_underscore = true } };
401401
}
402402

403-
pub fn fmtIdP(bytes: []const u8) std.fmt.Formatter(FormatId, FormatId.render) {
404-
return .{ .data = .{ .bytes = bytes, .flags = .{ .allow_primitive = true } } };
403+
pub fn fmtIdP(bytes: []const u8) FormatId {
404+
return .{ .bytes = bytes, .flags = .{ .allow_primitive = true } };
405405
}
406406

407407
test fmtId {
@@ -447,7 +447,7 @@ pub const FormatId = struct {
447447
};
448448

449449
/// Print the string as a Zig identifier, escaping it with `@""` syntax if needed.
450-
fn render(ctx: FormatId, writer: *Writer) Writer.Error!void {
450+
pub fn format(ctx: FormatId, writer: *Writer) Writer.Error!void {
451451
const bytes = ctx.bytes;
452452
if (isValidId(bytes) and
453453
(ctx.flags.allow_primitive or !std.zig.isPrimitive(bytes)) and

0 commit comments

Comments
 (0)