diff options
| author | DanielGavin <danielgavin5@hotmail.com> | 2024-01-18 18:41:47 +0100 |
|---|---|---|
| committer | DanielGavin <danielgavin5@hotmail.com> | 2024-01-18 18:41:47 +0100 |
| commit | d36a12d355b363a6071a585996f02cf730d12692 (patch) | |
| tree | b176418bf6cf228351e563e21bd14812cc1447a2 /src/server | |
| parent | 79127f2b8485aea451cb3e29982403e57d253756 (diff) | |
Remember to clone generics derived expr
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/generics.odin | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/server/generics.odin b/src/server/generics.odin index 5921de2..50a477a 100644 --- a/src/server/generics.odin +++ b/src/server/generics.odin @@ -439,11 +439,14 @@ resolve_generic_function_symbol :: proc( return {}, false } + symbol_expr = clone_expr(symbol_expr, ast_context.allocator, nil) + param_type := clone_expr(param.type, ast_context.allocator, nil) + if resolve_poly( ast_context, symbol_expr, symbol, - param.type, + param_type, &poly_map, ) { if poly, ok := name.derived.(^ast.Poly_Type); ok { |