commit fd575fe1f3b45806f2cf823a2abe3727d381d4ed (tree)
parent 84195467ad974f9b7201e4e1bbd6dccbd5e7ab90
Author: Andrew Kelley <superjoe30@gmail.com>
Date: Wed, 25 Jul 2018 18:15:55 -0400
add compile error for missing parameter name of generic function
Diffstat:
2 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/src/ir.cpp b/src/ir.cpp
@@ -12591,6 +12591,7 @@ static bool ir_analyze_fn_call_generic_arg(IrAnalyze *ira, AstNode *fn_proto_nod
}
Buf *param_name = param_decl_node->data.param_decl.name;
+ if (!param_name) return false;
if (!is_var_args) {
VariableTableEntry *var = add_variable(ira->codegen, param_decl_node,
*child_scope, param_name, true, arg_val, nullptr);
diff --git a/test/compile_errors.zig b/test/compile_errors.zig
@@ -2,6 +2,17 @@ const tests = @import("tests.zig");
pub fn addCases(cases: *tests.CompileErrorContext) void {
cases.add(
+ "missing parameter name of generic function",
+ \\fn dump(var) void {}
+ \\export fn entry() void {
+ \\ var a: u8 = 9;
+ \\ dump(a);
+ \\}
+ ,
+ ".tmp_source.zig:1:9: error: missing parameter name",
+ );
+
+ cases.add(
"non-inline for loop on a type that requires comptime",
\\const Foo = struct {
\\ name: []const u8,