authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-06-04 01:29:00-07:00
committergravatar for justusk@noreply.codeberg.orgJustus Klausecker <justusk@noreply.codeberg.org> 2026-06-12 23:03:02+02:00
log9e95d51e24a91bfea12754a036bff9ac6b8bebb7
treec503fbde3d4a15fb722b0eeea1a6d884aa47af1e
parentdde807f515e871eefea3841f1836f23dfe7f8ac2

sema: add declare here note to 'type does not support indexing' error


2 files changed, 2 insertions(+), 0 deletions(-)

src/Sema.zig+1
......@@ -33324,6 +33324,7 @@ fn checkIndexable(sema: *Sema, block: *Block, src: LazySrcLoc, ty: Type) !void {
3332433324 const msg = try sema.errMsg(src, "type '{f}' does not support indexing", .{ty.fmt(pt)});
3332533325 errdefer msg.destroy(sema.gpa);
3332633326 try sema.errNote(src, msg, "operand must be an array, slice, tuple, or vector", .{});
33327 try sema.addDeclaredHereNote(msg, ty);
3332733328 break :msg msg;
3332833329 };
3332933330 return sema.failWithOwnedErrorMsg(block, msg);
test/cases/compile_errors/indexing_non-tuple_struct.zig+1
......@@ -8,3 +8,4 @@ export fn a() void {
88//
99// :4:6: error: type 'tmp.a.S' does not support indexing
1010// :4:6: note: operand must be an array, slice, tuple, or vector
11// :2:15: note: struct declared here