Commit ed73429926

Veikka Tuominen <git@vexu.eu>
2022-11-29 14:09:21
Sema: explain why parameter must be declared comptime
Closes #13692
1 parent 17ff002
Changed files (2)
src/Sema.zig
@@ -8709,6 +8709,9 @@ fn analyzeParameter(
             });
             errdefer msg.destroy(sema.gpa);
 
+            const src_decl = sema.mod.declPtr(block.src_decl);
+            try sema.explainWhyTypeIsComptime(block, param_src, msg, param_src.toSrcLoc(src_decl), param.ty);
+
             try sema.addDeclaredHereNote(msg, param.ty);
             break :msg msg;
         };
test/cases/compile_errors/comptime_parameter_not_declared_as_such.zig
@@ -21,4 +21,5 @@ pub export fn entry1() void {
 // target=native
 //
 // :3:6: error: parameter of type '*const fn(anytype) void' must be declared comptime
+// :3:6: note: function is generic
 // :10:34: error: parameter of type 'comptime_int' must be declared comptime