authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-07-25 18:15:55-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-07-25 18:15:55-04:00
logfd575fe1f3b45806f2cf823a2abe3727d381d4ed
tree860922d4efe44277b60e81d80e38baf8bc7e65bc
parent84195467ad974f9b7201e4e1bbd6dccbd5e7ab90

add compile error for missing parameter name of generic function


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

src/ir.cpp+1
...@@ -12591,6 +12591,7 @@ static bool ir_analyze_fn_call_generic_arg(IrAnalyze *ira, AstNode *fn_proto_nod...@@ -12591,6 +12591,7 @@ static bool ir_analyze_fn_call_generic_arg(IrAnalyze *ira, AstNode *fn_proto_nod
12591 }12591 }
1259212592
12593 Buf *param_name = param_decl_node->data.param_decl.name;12593 Buf *param_name = param_decl_node->data.param_decl.name;
12594 if (!param_name) return false;
12594 if (!is_var_args) {12595 if (!is_var_args) {
12595 VariableTableEntry *var = add_variable(ira->codegen, param_decl_node,12596 VariableTableEntry *var = add_variable(ira->codegen, param_decl_node,
12596 *child_scope, param_name, true, arg_val, nullptr);12597 *child_scope, param_name, true, arg_val, nullptr);
test/compile_errors.zig+11
...@@ -1,6 +1,17 @@...@@ -1,6 +1,17 @@
1const tests = @import("tests.zig");1const tests = @import("tests.zig");
22
3pub fn addCases(cases: *tests.CompileErrorContext) void {3pub 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
4 cases.add(15 cases.add(
5 "non-inline for loop on a type that requires comptime",16 "non-inline for loop on a type that requires comptime",
6 \\const Foo = struct {17 \\const Foo = struct {