| ... | ... | @@ -614,11 +614,11 @@ pub fn addCases(ctx: *TestContext) !void { |
| 614 | 614 | \\} |
| 615 | 615 | , &[_][]const u8{ |
| 616 | 616 | "tmp.zig:2:12: error: redefinition of label 'blk'", |
| 617 | | "tmp.zig:2:5: note: previous definition is here", |
| 617 | "tmp.zig:2:5: note: previous definition here", |
| 618 | 618 | "tmp.zig:5:26: error: redefinition of label 'blk'", |
| 619 | | "tmp.zig:5:5: note: previous definition is here", |
| 619 | "tmp.zig:5:5: note: previous definition here", |
| 620 | 620 | "tmp.zig:8:46: error: redefinition of label 'blk'", |
| 621 | | "tmp.zig:8:5: note: previous definition is here", |
| 621 | "tmp.zig:8:5: note: previous definition here", |
| 622 | 622 | "tmp.zig:11:5: error: unused block label", |
| 623 | 623 | "tmp.zig:14:5: error: unused while loop label", |
| 624 | 624 | "tmp.zig:17:5: error: unused for loop label", |
| ... | ... | @@ -4261,7 +4261,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 4261 | 4261 | \\} |
| 4262 | 4262 | , &[_][]const u8{ |
| 4263 | 4263 | "tmp.zig:5:14: error: duplicate switch value: '@typeInfo(@typeInfo(@TypeOf(foo)).Fn.return_type.?).ErrorUnion.error_set.Foo'", |
| 4264 | | "tmp.zig:3:14: note: other value is here", |
| 4264 | "tmp.zig:3:14: note: other value here", |
| 4265 | 4265 | }); |
| 4266 | 4266 | |
| 4267 | 4267 | ctx.objErrStage1("invalid cast from integral type to enum", |
| ... | ... | @@ -4932,8 +4932,8 @@ pub fn addCases(ctx: *TestContext) !void { |
| 4932 | 4932 | }); |
| 4933 | 4933 | |
| 4934 | 4934 | ctx.objErrStage1("wrong number of arguments", |
| 4935 | | \\export fn a() void { |
| 4936 | | \\ b(1); |
| 4935 | \\export fn d() void { |
| 4936 | \\ e(1); |
| 4937 | 4937 | \\} |
| 4938 | 4938 | \\fn b(a: i32, b: i32, c: i32) void { _ = a; _ = b; _ = c; } |
| 4939 | 4939 | , &[_][]const u8{ |
| ... | ... | @@ -4988,7 +4988,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 4988 | 4988 | \\} |
| 4989 | 4989 | \\export fn entry() void { f(1, 2); } |
| 4990 | 4990 | , &[_][]const u8{ |
| 4991 | | "tmp.zig:1:15: error: redeclaration of parameter 'a'", |
| 4991 | "tmp.zig:1:15: error: redeclaration of function parameter 'a'", |
| 4992 | 4992 | "tmp.zig:1:6: note: previous declaration here", |
| 4993 | 4993 | }); |
| 4994 | 4994 | |
| ... | ... | @@ -4998,7 +4998,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 4998 | 4998 | \\ var a = 0; |
| 4999 | 4999 | \\} |
| 5000 | 5000 | , &[_][]const u8{ |
| 5001 | | "tmp.zig:3:9: error: redeclaration of local const 'a'", |
| 5001 | "tmp.zig:3:9: error: redeclaration of local constant 'a'", |
| 5002 | 5002 | "tmp.zig:2:11: note: previous declaration here", |
| 5003 | 5003 | }); |
| 5004 | 5004 | |
| ... | ... | @@ -5008,7 +5008,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 5008 | 5008 | \\} |
| 5009 | 5009 | \\export fn entry() void { f(1); } |
| 5010 | 5010 | , &[_][]const u8{ |
| 5011 | | "tmp.zig:2:11: error: redeclaration of parameter 'a'", |
| 5011 | "tmp.zig:2:11: error: redeclaration of function parameter 'a'", |
| 5012 | 5012 | "tmp.zig:1:6: note: previous declaration here", |
| 5013 | 5013 | }); |
| 5014 | 5014 | |
| ... | ... | @@ -5295,7 +5295,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 5295 | 5295 | \\ _ = foo; |
| 5296 | 5296 | \\} |
| 5297 | 5297 | , &[_][]const u8{ |
| 5298 | | "tmp.zig:1:21: error: type '[3]u16' does not support struct initialization syntax", |
| 5298 | "tmp.zig:1:13: error: initializing array with struct syntax", |
| 5299 | 5299 | }); |
| 5300 | 5300 | |
| 5301 | 5301 | ctx.objErrStage1("type variables must be constant", |
| ... | ... | @@ -5307,23 +5307,28 @@ pub fn addCases(ctx: *TestContext) !void { |
| 5307 | 5307 | "tmp.zig:1:1: error: variable of type 'type' must be constant", |
| 5308 | 5308 | }); |
| 5309 | 5309 | |
| 5310 | | ctx.objErrStage1("variables shadowing types", |
| 5310 | ctx.objErrStage1("parameter shadowing global", |
| 5311 | \\const Foo = struct {}; |
| 5312 | \\fn f(Foo: i32) void {} |
| 5313 | \\export fn entry() void { |
| 5314 | \\ f(1234); |
| 5315 | \\} |
| 5316 | , &[_][]const u8{ |
| 5317 | "tmp.zig:2:6: error: local shadows declaration of 'Foo'", |
| 5318 | "tmp.zig:1:1: note: declared here", |
| 5319 | }); |
| 5320 | |
| 5321 | ctx.objErrStage1("local variable shadowing global", |
| 5311 | 5322 | \\const Foo = struct {}; |
| 5312 | 5323 | \\const Bar = struct {}; |
| 5313 | 5324 | \\ |
| 5314 | | \\fn f(Foo: i32) void { |
| 5325 | \\export fn entry() void { |
| 5315 | 5326 | \\ var Bar : i32 = undefined; |
| 5316 | 5327 | \\ _ = Bar; |
| 5317 | 5328 | \\} |
| 5318 | | \\ |
| 5319 | | \\export fn entry() void { |
| 5320 | | \\ f(1234); |
| 5321 | | \\} |
| 5322 | 5329 | , &[_][]const u8{ |
| 5323 | | "tmp.zig:4:6: error: redefinition of 'Foo'", |
| 5324 | | "tmp.zig:1:1: note: previous definition is here", |
| 5325 | | "tmp.zig:5:5: error: redefinition of 'Bar'", |
| 5326 | | "tmp.zig:2:1: note: previous definition is here", |
| 5330 | "tmp.zig:5:9: error: local shadows declaration of 'Bar'", |
| 5331 | "tmp.zig:2:1: note: declared here", |
| 5327 | 5332 | }); |
| 5328 | 5333 | |
| 5329 | 5334 | ctx.objErrStage1("switch expression - missing enumeration prong", |
| ... | ... | @@ -5366,7 +5371,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 5366 | 5371 | \\export fn entry() usize { return @sizeOf(@TypeOf(f)); } |
| 5367 | 5372 | , &[_][]const u8{ |
| 5368 | 5373 | "tmp.zig:13:15: error: duplicate switch value", |
| 5369 | | "tmp.zig:10:15: note: other value is here", |
| 5374 | "tmp.zig:10:15: note: other value here", |
| 5370 | 5375 | }); |
| 5371 | 5376 | |
| 5372 | 5377 | ctx.objErrStage1("switch expression - duplicate enumeration prong when else present", |
| ... | ... | @@ -5390,7 +5395,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 5390 | 5395 | \\export fn entry() usize { return @sizeOf(@TypeOf(f)); } |
| 5391 | 5396 | , &[_][]const u8{ |
| 5392 | 5397 | "tmp.zig:13:15: error: duplicate switch value", |
| 5393 | | "tmp.zig:10:15: note: other value is here", |
| 5398 | "tmp.zig:10:15: note: other value here", |
| 5394 | 5399 | }); |
| 5395 | 5400 | |
| 5396 | 5401 | ctx.objErrStage1("switch expression - multiple else prongs", |
| ... | ... | @@ -5431,7 +5436,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 5431 | 5436 | \\export fn entry() usize { return @sizeOf(@TypeOf(foo)); } |
| 5432 | 5437 | , &[_][]const u8{ |
| 5433 | 5438 | "tmp.zig:6:9: error: duplicate switch value", |
| 5434 | | "tmp.zig:5:14: note: previous value is here", |
| 5439 | "tmp.zig:5:14: note: previous value here", |
| 5435 | 5440 | }); |
| 5436 | 5441 | |
| 5437 | 5442 | ctx.objErrStage1("switch expression - duplicate type", |
| ... | ... | @@ -5447,7 +5452,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 5447 | 5452 | \\export fn entry() usize { return @sizeOf(@TypeOf(foo(u32, 0))); } |
| 5448 | 5453 | , &[_][]const u8{ |
| 5449 | 5454 | "tmp.zig:6:9: error: duplicate switch value", |
| 5450 | | "tmp.zig:4:9: note: previous value is here", |
| 5455 | "tmp.zig:4:9: note: previous value here", |
| 5451 | 5456 | }); |
| 5452 | 5457 | |
| 5453 | 5458 | ctx.objErrStage1("switch expression - duplicate type (struct alias)", |
| ... | ... | @@ -5467,7 +5472,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 5467 | 5472 | \\export fn entry() usize { return @sizeOf(@TypeOf(foo(u32, 0))); } |
| 5468 | 5473 | , &[_][]const u8{ |
| 5469 | 5474 | "tmp.zig:10:9: error: duplicate switch value", |
| 5470 | | "tmp.zig:8:9: note: previous value is here", |
| 5475 | "tmp.zig:8:9: note: previous value here", |
| 5471 | 5476 | }); |
| 5472 | 5477 | |
| 5473 | 5478 | ctx.objErrStage1("switch expression - switch on pointer type with no else", |
| ... | ... | @@ -5662,10 +5667,9 @@ pub fn addCases(ctx: *TestContext) !void { |
| 5662 | 5667 | ctx.objErrStage1("normal string with newline", |
| 5663 | 5668 | \\const foo = "a |
| 5664 | 5669 | \\b"; |
| 5665 | | \\ |
| 5666 | | \\export fn entry() usize { return @sizeOf(@TypeOf(foo)); } |
| 5667 | 5670 | , &[_][]const u8{ |
| 5668 | | "tmp.zig:1:15: error: newline not allowed in string literal", |
| 5671 | "tmp.zig:1:13: error: expected expression, found 'invalid'", |
| 5672 | "tmp.zig:1:15: note: invalid byte here", |
| 5669 | 5673 | }); |
| 5670 | 5674 | |
| 5671 | 5675 | ctx.objErrStage1("invalid comparison for function pointers", |
| ... | ... | @@ -6595,7 +6599,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 6595 | 6599 | \\ |
| 6596 | 6600 | \\export fn entry() usize { return @sizeOf(@TypeOf(testTrickyDefer)); } |
| 6597 | 6601 | , &[_][]const u8{ |
| 6598 | | "tmp.zig:4:11: error: 'try' is not allowed inside defer expression", |
| 6602 | "tmp.zig:4:11: error: 'try' not allowed inside defer expression", |
| 6599 | 6603 | }); |
| 6600 | 6604 | |
| 6601 | 6605 | ctx.objErrStage1("assign too big number to u16", |
| ... | ... | @@ -6976,7 +6980,7 @@ pub fn addCases(ctx: *TestContext) !void { |
| 6976 | 6980 | \\} |
| 6977 | 6981 | , &[_][]const u8{ |
| 6978 | 6982 | "tmp.zig:9:17: error: redefinition of 'Self'", |
| 6979 | | "tmp.zig:5:9: note: previous definition is here", |
| 6983 | "tmp.zig:5:9: note: previous definition here", |
| 6980 | 6984 | }); |
| 6981 | 6985 | |
| 6982 | 6986 | ctx.objErrStage1("while expected bool, got optional", |
| ... | ... | @@ -7692,24 +7696,18 @@ pub fn addCases(ctx: *TestContext) !void { |
| 7692 | 7696 | \\ _ = x; |
| 7693 | 7697 | \\} |
| 7694 | 7698 | , &[_][]const u8{ |
| 7695 | | "tmp.zig:2:14: error: untagged union field assignment", |
| 7696 | | "tmp.zig:1:24: note: consider 'union(enum)' here", |
| 7699 | "tmp.zig:1:24: error: explicitly valued tagged union missing integer tag type", |
| 7700 | "tmp.zig:2:14: note: tag value specified here", |
| 7697 | 7701 | }); |
| 7698 | 7702 | |
| 7699 | 7703 | ctx.objErrStage1("enum with 0 fields", |
| 7700 | 7704 | \\const Foo = enum {}; |
| 7701 | | \\export fn entry() usize { |
| 7702 | | \\ return @sizeOf(Foo); |
| 7703 | | \\} |
| 7704 | 7705 | , &[_][]const u8{ |
| 7705 | | "tmp.zig:1:13: error: enums must have 1 or more fields", |
| 7706 | "tmp.zig:1:13: error: enum declarations must have at least one tag", |
| 7706 | 7707 | }); |
| 7707 | 7708 | |
| 7708 | 7709 | ctx.objErrStage1("union with 0 fields", |
| 7709 | 7710 | \\const Foo = union {}; |
| 7710 | | \\export fn entry() usize { |
| 7711 | | \\ return @sizeOf(Foo); |
| 7712 | | \\} |
| 7713 | 7711 | , &[_][]const u8{ |
| 7714 | 7712 | "tmp.zig:1:13: error: union declarations must have at least one tag", |
| 7715 | 7713 | }); |
| ... | ... | @@ -7817,13 +7815,9 @@ pub fn addCases(ctx: *TestContext) !void { |
| 7817 | 7815 | \\ B, |
| 7818 | 7816 | \\ C, |
| 7819 | 7817 | \\}; |
| 7820 | | \\export fn entry() void { |
| 7821 | | \\ var b = Letter.B; |
| 7822 | | \\ _ = b; |
| 7823 | | \\} |
| 7824 | 7818 | , &[_][]const u8{ |
| 7825 | | "tmp.zig:2:8: error: structs and unions, not enums, support field types", |
| 7826 | | "tmp.zig:1:16: note: consider 'union(enum)' here", |
| 7819 | "tmp.zig:2:8: error: enum fields do not have types", |
| 7820 | "tmp.zig:1:16: note: consider 'union(enum)' here to make it a tagged union", |
| 7827 | 7821 | }); |
| 7828 | 7822 | |
| 7829 | 7823 | ctx.objErrStage1("struct field missing type", |
| ... | ... | @@ -8231,9 +8225,9 @@ pub fn addCases(ctx: *TestContext) !void { |
| 8231 | 8225 | \\} |
| 8232 | 8226 | , &[_][]const u8{ |
| 8233 | 8227 | "tmp.zig:3:28: error: parameter of opaque type 'FooType' not allowed", |
| 8234 | | "tmp.zig:7:28: error: parameter of type '(null)' not allowed", |
| 8235 | | "tmp.zig:10:11: error: parameter of opaque type 'FooType' not allowed", |
| 8236 | | "tmp.zig:15:11: error: parameter of type '(null)' not allowed", |
| 8228 | "tmp.zig:8:28: error: parameter of type '(null)' not allowed", |
| 8229 | "tmp.zig:12:11: error: parameter of opaque type 'FooType' not allowed", |
| 8230 | "tmp.zig:17:11: error: parameter of type '(null)' not allowed", |
| 8237 | 8231 | }); |
| 8238 | 8232 | |
| 8239 | 8233 | ctx.objErrStage1( // fixed bug #2032 |
| ... | ... | @@ -8268,8 +8262,8 @@ pub fn addCases(ctx: *TestContext) !void { |
| 8268 | 8262 | \\} |
| 8269 | 8263 | , &[_][]const u8{ |
| 8270 | 8264 | "tmp.zig:3:19: error: use of undefined value here causes undefined behavior", |
| 8271 | | "tmp.zig:8:23: error: use of undefined value here causes undefined behavior", |
| 8272 | | "tmp.zig:14:23: error: use of undefined value here causes undefined behavior", |
| 8265 | "tmp.zig:9:23: error: use of undefined value here causes undefined behavior", |
| 8266 | "tmp.zig:16:23: error: use of undefined value here causes undefined behavior", |
| 8273 | 8267 | }); |
| 8274 | 8268 | |
| 8275 | 8269 | ctx.objErrStage1("issue #3818: bitcast from parray/slice to u16", |
| ... | ... | @@ -8285,8 +8279,8 @@ pub fn addCases(ctx: *TestContext) !void { |
| 8285 | 8279 | \\} |
| 8286 | 8280 | , &[_][]const u8{ |
| 8287 | 8281 | "tmp.zig:3:42: error: unable to @bitCast from pointer type '*[2]u8'", |
| 8288 | | "tmp.zig:7:32: error: destination type 'u16' has size 2 but source type '[]const u8' has size 16", |
| 8289 | | "tmp.zig:7:37: note: referenced here", |
| 8282 | "tmp.zig:8:32: error: destination type 'u16' has size 2 but source type '[]const u8' has size 16", |
| 8283 | "tmp.zig:8:37: note: referenced here", |
| 8290 | 8284 | }); |
| 8291 | 8285 | |
| 8292 | 8286 | // issue #7810 |
| ... | ... | @@ -8361,12 +8355,12 @@ pub fn addCases(ctx: *TestContext) !void { |
| 8361 | 8355 | \\} |
| 8362 | 8356 | , &[_][]const u8{ |
| 8363 | 8357 | ":4:29: error: slice-sentinel is out of bounds", |
| 8364 | | ":11:29: error: slice-sentinel is out of bounds", |
| 8365 | | ":18:29: error: slice-sentinel is out of bounds", |
| 8366 | | ":25:29: error: slice-sentinel is out of bounds", |
| 8367 | | ":32:29: error: slice-sentinel is out of bounds", |
| 8368 | | ":39:29: error: slice-sentinel is out of bounds", |
| 8369 | | ":46:29: error: slice-sentinel is out of bounds", |
| 8358 | ":12:29: error: slice-sentinel is out of bounds", |
| 8359 | ":20:29: error: slice-sentinel is out of bounds", |
| 8360 | ":28:29: error: slice-sentinel is out of bounds", |
| 8361 | ":36:29: error: slice-sentinel is out of bounds", |
| 8362 | ":44:29: error: slice-sentinel is out of bounds", |
| 8363 | ":52:29: error: slice-sentinel is out of bounds", |
| 8370 | 8364 | }); |
| 8371 | 8365 | |
| 8372 | 8366 | ctx.objErrStage1("comptime slice-sentinel is out of bounds (terminated)", |
| ... | ... | @@ -8427,12 +8421,12 @@ pub fn addCases(ctx: *TestContext) !void { |
| 8427 | 8421 | \\} |
| 8428 | 8422 | , &[_][]const u8{ |
| 8429 | 8423 | ":4:29: error: out of bounds slice", |
| 8430 | | ":11:29: error: out of bounds slice", |
| 8431 | | ":18:29: error: out of bounds slice", |
| 8432 | | ":25:29: error: out of bounds slice", |
| 8433 | | ":32:29: error: out of bounds slice", |
| 8434 | | ":39:29: error: out of bounds slice", |
| 8435 | | ":46:29: error: out of bounds slice", |
| 8424 | ":12:29: error: out of bounds slice", |
| 8425 | ":20:29: error: out of bounds slice", |
| 8426 | ":28:29: error: out of bounds slice", |
| 8427 | ":36:29: error: out of bounds slice", |
| 8428 | ":44:29: error: out of bounds slice", |
| 8429 | ":52:29: error: out of bounds slice", |
| 8436 | 8430 | }); |
| 8437 | 8431 | |
| 8438 | 8432 | ctx.objErrStage1("comptime slice-sentinel does not match memory at target index (unterminated)", |
| ... | ... | @@ -8493,12 +8487,12 @@ pub fn addCases(ctx: *TestContext) !void { |
| 8493 | 8487 | \\} |
| 8494 | 8488 | , &[_][]const u8{ |
| 8495 | 8489 | ":4:29: error: slice-sentinel does not match memory at target index", |
| 8496 | | ":11:29: error: slice-sentinel does not match memory at target index", |
| 8497 | | ":18:29: error: slice-sentinel does not match memory at target index", |
| 8498 | | ":25:29: error: slice-sentinel does not match memory at target index", |
| 8499 | | ":32:29: error: slice-sentinel does not match memory at target index", |
| 8500 | | ":39:29: error: slice-sentinel does not match memory at target index", |
| 8501 | | ":46:29: error: slice-sentinel does not match memory at target index", |
| 8490 | ":12:29: error: slice-sentinel does not match memory at target index", |
| 8491 | ":20:29: error: slice-sentinel does not match memory at target index", |
| 8492 | ":28:29: error: slice-sentinel does not match memory at target index", |
| 8493 | ":36:29: error: slice-sentinel does not match memory at target index", |
| 8494 | ":44:29: error: slice-sentinel does not match memory at target index", |
| 8495 | ":52:29: error: slice-sentinel does not match memory at target index", |
| 8502 | 8496 | }); |
| 8503 | 8497 | |
| 8504 | 8498 | ctx.objErrStage1("comptime slice-sentinel does not match memory at target index (terminated)", |
| ... | ... | @@ -8559,12 +8553,12 @@ pub fn addCases(ctx: *TestContext) !void { |
| 8559 | 8553 | \\} |
| 8560 | 8554 | , &[_][]const u8{ |
| 8561 | 8555 | ":4:29: error: slice-sentinel does not match memory at target index", |
| 8562 | | ":11:29: error: slice-sentinel does not match memory at target index", |
| 8563 | | ":18:29: error: slice-sentinel does not match memory at target index", |
| 8564 | | ":25:29: error: slice-sentinel does not match memory at target index", |
| 8565 | | ":32:29: error: slice-sentinel does not match memory at target index", |
| 8566 | | ":39:29: error: slice-sentinel does not match memory at target index", |
| 8567 | | ":46:29: error: slice-sentinel does not match memory at target index", |
| 8556 | ":12:29: error: slice-sentinel does not match memory at target index", |
| 8557 | ":20:29: error: slice-sentinel does not match memory at target index", |
| 8558 | ":28:29: error: slice-sentinel does not match memory at target index", |
| 8559 | ":36:29: error: slice-sentinel does not match memory at target index", |
| 8560 | ":44:29: error: slice-sentinel does not match memory at target index", |
| 8561 | ":52:29: error: slice-sentinel does not match memory at target index", |
| 8568 | 8562 | }); |
| 8569 | 8563 | |
| 8570 | 8564 | ctx.objErrStage1("comptime slice-sentinel does not match target-sentinel", |
| ... | ... | @@ -8625,12 +8619,12 @@ pub fn addCases(ctx: *TestContext) !void { |
| 8625 | 8619 | \\} |
| 8626 | 8620 | , &[_][]const u8{ |
| 8627 | 8621 | ":4:29: error: slice-sentinel does not match target-sentinel", |
| 8628 | | ":11:29: error: slice-sentinel does not match target-sentinel", |
| 8629 | | ":18:29: error: slice-sentinel does not match target-sentinel", |
| 8630 | | ":25:29: error: slice-sentinel does not match target-sentinel", |
| 8631 | | ":32:29: error: slice-sentinel does not match target-sentinel", |
| 8632 | | ":39:29: error: slice-sentinel does not match target-sentinel", |
| 8633 | | ":46:29: error: slice-sentinel does not match target-sentinel", |
| 8622 | ":12:29: error: slice-sentinel does not match target-sentinel", |
| 8623 | ":20:29: error: slice-sentinel does not match target-sentinel", |
| 8624 | ":28:29: error: slice-sentinel does not match target-sentinel", |
| 8625 | ":36:29: error: slice-sentinel does not match target-sentinel", |
| 8626 | ":44:29: error: slice-sentinel does not match target-sentinel", |
| 8627 | ":52:29: error: slice-sentinel does not match target-sentinel", |
| 8634 | 8628 | }); |
| 8635 | 8629 | |
| 8636 | 8630 | ctx.objErrStage1("issue #4207: coerce from non-terminated-slice to terminated-pointer", |
| ... | ... | @@ -8774,7 +8768,8 @@ pub fn addCases(ctx: *TestContext) !void { |
| 8774 | 8768 | \\ _ = sequence; |
| 8775 | 8769 | \\} |
| 8776 | 8770 | , &[_][]const u8{ |
| 8777 | | "tmp.zig:2:30: error: `.*` cannot be followed by `*`. Are you missing a space?", |
| 8771 | // Ideally this would be column 30 but it's not very important. |
| 8772 | "tmp.zig:2:28: error: `.*` cannot be followed by `*`. Are you missing a space?", |
| 8778 | 8773 | }); |
| 8779 | 8774 | |
| 8780 | 8775 | ctx.objErrStage1("Issue #9165: windows tcp server compilation error", |