aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/ast.odin7
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 {