summaryrefslogtreecommitdiff
path: root/src/parser/parser_decl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser/parser_decl.c')
-rw-r--r--src/parser/parser_decl.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/parser/parser_decl.c b/src/parser/parser_decl.c
index 0cd2990..5cac0b4 100644
--- a/src/parser/parser_decl.c
+++ b/src/parser/parser_decl.c
@@ -187,8 +187,12 @@ ASTNode *parse_function(ParserContext *ctx, Lexer *l, int is_async)
if (gen_param)
{
- register_func_template(ctx, name, gen_param, node);
- return NULL;
+ node->func.generic_params = xstrdup(gen_param);
+ if (!ctx->current_impl_struct)
+ {
+ register_func_template(ctx, name, gen_param, node);
+ return NULL;
+ }
}
if (!ctx->current_impl_struct)
{