zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit ed734299269d50083db27d68598ced7df42b8631 (tree)
parent 17ff002bc0ac55850e647fc3a70a43d1d874f6ab
Author: Veikka Tuominen <git@vexu.eu>
Date:   Tue, 29 Nov 2022 15:09:21 +0200

Sema: explain why parameter must be declared comptime

Closes #13692

Diffstat:
Msrc/Sema.zig | 3+++
Mtest/cases/compile_errors/comptime_parameter_not_declared_as_such.zig | 1+
2 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/Sema.zig b/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; }; diff --git a/test/cases/compile_errors/comptime_parameter_not_declared_as_such.zig b/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