Skip to content

Commit fd575fe

Browse files
committed
add compile error for missing parameter name of generic function
1 parent 8419546 commit fd575fe

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/ir.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12591,6 +12591,7 @@ static bool ir_analyze_fn_call_generic_arg(IrAnalyze *ira, AstNode *fn_proto_nod
1259112591
}
1259212592

1259312593
Buf *param_name = param_decl_node->data.param_decl.name;
12594+
if (!param_name) return false;
1259412595
if (!is_var_args) {
1259512596
VariableTableEntry *var = add_variable(ira->codegen, param_decl_node,
1259612597
*child_scope, param_name, true, arg_val, nullptr);

test/compile_errors.zig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
const tests = @import("tests.zig");
22

33
pub fn addCases(cases: *tests.CompileErrorContext) void {
4+
cases.add(
5+
"missing parameter name of generic function",
6+
\\fn dump(var) void {}
7+
\\export fn entry() void {
8+
\\ var a: u8 = 9;
9+
\\ dump(a);
10+
\\}
11+
,
12+
".tmp_source.zig:1:9: error: missing parameter name",
13+
);
14+
415
cases.add(
516
"non-inline for loop on a type that requires comptime",
617
\\const Foo = struct {

0 commit comments

Comments
 (0)