diff options
| author | Harold Brenes <harold@hbrenes.com> | 2025-05-01 12:24:27 -0400 |
|---|---|---|
| committer | Harold Brenes <harold@hbrenes.com> | 2025-05-01 12:25:37 -0400 |
| commit | 7dff27b2c19271ceb5c92fca5ccd0a0a7f07e414 (patch) | |
| tree | b1f79c781ca9d31fe220bef2152eb515bd5fb790 /src/common | |
| parent | ec0fb1945eda03e79ea5dd498b54ba9915e84588 (diff) | |
Fix resolve parapoly speciliazations
Diffstat (limited to 'src/common')
| -rw-r--r-- | src/common/ast.odin | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/common/ast.odin b/src/common/ast.odin index 025fab0..6031d9d 100644 --- a/src/common/ast.odin +++ b/src/common/ast.odin @@ -184,6 +184,13 @@ unwrap_pointer_ident :: proc(expr: ^ast.Expr) -> (ast.Ident, int, bool) { } } + // Check for parapoly specialization + if expr != nil { + if poly, ok := expr.derived.(^ast.Poly_Type); ok { + expr = poly.specialization + } + } + // Check for parapoly self if expr != nil { if call, ok := expr.derived.(^ast.Call_Expr); ok { |