@@ -64,14 +64,14 @@ pub const Error = union(enum) {
64
64
}
65
65
};
66
66
67
- fn formatMessage (self : []const u8 , w : * std.io .Writer ) std.io .Writer.Error ! void {
67
+ fn formatMessage (self : []const u8 , w : * std.Io .Writer ) std.Io .Writer.Error ! void {
68
68
// Just writes the string for now, but we're keeping this behind a formatter so we have
69
69
// the option to extend it in the future to print more advanced messages (like `Error`
70
70
// does) without breaking the API.
71
71
try w .writeAll (self );
72
72
}
73
73
74
- pub fn fmtMessage (self : Note , diag : * const Diagnostics ) std.fmt.Formatter ([]const u8 , Note .formatMessage ) {
74
+ pub fn fmtMessage (self : Note , diag : * const Diagnostics ) std.fmt.Alt ([]const u8 , Note .formatMessage ) {
75
75
return .{ .data = switch (self ) {
76
76
.zoir = > | note | note .msg .get (diag .zoir ),
77
77
.type_check = > | note | note .msg ,
@@ -147,14 +147,14 @@ pub const Error = union(enum) {
147
147
diag : * const Diagnostics ,
148
148
};
149
149
150
- fn formatMessage (self : FormatMessage , w : * std.io .Writer ) std.io .Writer.Error ! void {
150
+ fn formatMessage (self : FormatMessage , w : * std.Io .Writer ) std.Io .Writer.Error ! void {
151
151
switch (self .err ) {
152
152
.zoir = > | err | try w .writeAll (err .msg .get (self .diag .zoir )),
153
153
.type_check = > | tc | try w .writeAll (tc .message ),
154
154
}
155
155
}
156
156
157
- pub fn fmtMessage (self : @This (), diag : * const Diagnostics ) std .fmt .Formatter (FormatMessage , formatMessage ) {
157
+ pub fn fmtMessage (self : @This (), diag : * const Diagnostics ) std .fmt .Alt (FormatMessage , formatMessage ) {
158
158
return .{ .data = .{
159
159
.err = self ,
160
160
.diag = diag ,
@@ -226,7 +226,7 @@ pub const Diagnostics = struct {
226
226
return .{ .diag = self };
227
227
}
228
228
229
- pub fn format (self : * const @This (), w : * std .io .Writer ) std .io .Writer .Error ! void {
229
+ pub fn format (self : * const @This (), w : * std .Io .Writer ) std .Io .Writer .Error ! void {
230
230
var errors = self .iterateErrors ();
231
231
while (errors .next ()) | err | {
232
232
const loc = err .getLocation (self );
@@ -606,7 +606,7 @@ const Parser = struct {
606
606
}
607
607
}
608
608
609
- fn parseSlicePointer (self : * @This (), T : type , node : Zoir .Node .Index ) ! T {
609
+ fn parseSlicePointer (self : * @This (), T : type , node : Zoir .Node .Index ) ParseExprInnerError ! T {
610
610
switch (node .get (self .zoir )) {
611
611
.string_literal = > return self .parseString (T , node ),
612
612
.array_literal = > | nodes | return self .parseSlice (T , nodes ),
@@ -1048,6 +1048,7 @@ const Parser = struct {
1048
1048
name : []const u8 ,
1049
1049
) error { OutOfMemory , ParseZon } {
1050
1050
@branchHint (.cold );
1051
+ const gpa = self .gpa ;
1051
1052
const token = if (field ) | f | b : {
1052
1053
var buf : [2 ]Ast.Node.Index = undefined ;
1053
1054
const struct_init = self .ast .fullStructInit (& buf , node .getAstNode (self .zoir )).? ;
@@ -1065,21 +1066,20 @@ const Parser = struct {
1065
1066
};
1066
1067
} else b : {
1067
1068
const msg = "supported: " ;
1068
- var buf : std .ArrayListUnmanaged (u8 ) = try .initCapacity (self .gpa , 64 );
1069
- defer buf .deinit (self .gpa );
1070
- const writer = buf .writer (self .gpa );
1071
- try writer .writeAll (msg );
1069
+ var buf : std .ArrayListUnmanaged (u8 ) = try .initCapacity (gpa , 64 );
1070
+ defer buf .deinit (gpa );
1071
+ try buf .appendSlice (gpa , msg );
1072
1072
inline for (info .fields , 0.. ) | field_info , i | {
1073
- if (i != 0 ) try writer . writeAll ( ", " );
1074
- try writer .print ("'{f}'" , .{std .zig .fmtIdFlags (field_info .name , .{
1073
+ if (i != 0 ) try buf . appendSlice ( gpa , ", " );
1074
+ try buf .print (gpa , "'{f}'" , .{std .zig .fmtIdFlags (field_info .name , .{
1075
1075
.allow_primitive = true ,
1076
1076
.allow_underscore = true ,
1077
1077
})});
1078
1078
}
1079
1079
break :b .{
1080
1080
.token = token ,
1081
1081
.offset = 0 ,
1082
- .msg = try buf .toOwnedSlice (self . gpa ),
1082
+ .msg = try buf .toOwnedSlice (gpa ),
1083
1083
.owned = true ,
1084
1084
};
1085
1085
};
0 commit comments