diff options
Diffstat (limited to 'src/check_expr.cpp')
| -rw-r--r-- | src/check_expr.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/check_expr.cpp b/src/check_expr.cpp index 16145109f..94a710ada 100644 --- a/src/check_expr.cpp +++ b/src/check_expr.cpp @@ -1354,6 +1354,9 @@ void check_is_expressible(Checker *c, Operand *o, Type *type) { bool check_is_not_addressable(Checker *c, Operand *o) { if (o->mode == Addressing_OptionalOk) { AstNode *expr = unparen_expr(o->expr); + while (expr->kind == AstNode_SelectorExpr) { + expr = expr->SelectorExpr.selector; + } if (expr->kind != AstNode_TypeAssertion) { return true; } |