diff options
Diffstat (limited to 'src/parser/parser_decl.c')
| -rw-r--r-- | src/parser/parser_decl.c | 8 |
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) { |
