diff options
Diffstat (limited to 'src/common/ast.odin')
| -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 { |