authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-11-29 15:09:21+02:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-11-29 21:44:08+02:00
loged734299269d50083db27d68598ced7df42b8631
treeba48d8561563ecdb86b2d49fddd9b1318650fd39
parent17ff002bc0ac55850e647fc3a70a43d1d874f6ab

Sema: explain why parameter must be declared comptime

Closes #13692

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

src/Sema.zig+3
...@@ -8709,6 +8709,9 @@ fn analyzeParameter(...@@ -8709,6 +8709,9 @@ fn analyzeParameter(
8709 });8709 });
8710 errdefer msg.destroy(sema.gpa);8710 errdefer msg.destroy(sema.gpa);
87118711
8712 const src_decl = sema.mod.declPtr(block.src_decl);
8713 try sema.explainWhyTypeIsComptime(block, param_src, msg, param_src.toSrcLoc(src_decl), param.ty);
8714
8712 try sema.addDeclaredHereNote(msg, param.ty);8715 try sema.addDeclaredHereNote(msg, param.ty);
8713 break :msg msg;8716 break :msg msg;
8714 };8717 };
test/cases/compile_errors/comptime_parameter_not_declared_as_such.zig+1
...@@ -21,4 +21,5 @@ pub export fn entry1() void {...@@ -21,4 +21,5 @@ pub export fn entry1() void {
21// target=native21// target=native
22//22//
23// :3:6: error: parameter of type '*const fn(anytype) void' must be declared comptime23// :3:6: error: parameter of type '*const fn(anytype) void' must be declared comptime
24// :3:6: note: function is generic
24// :10:34: error: parameter of type 'comptime_int' must be declared comptime25// :10:34: error: parameter of type 'comptime_int' must be declared comptime