[ty] Allow enum member accesses on `self` (#25077)
## Summary
This allows enum members to be resolved when accessed through a
`Self`-typed enum instance. Previously, enum member lookup handled
class-member patterns like `case Answer.YES:`, but not equivalent
self-member patterns like:
```py
class Answer(Enum):
NO = 0
YES = 1
def is_yes(self) -> bool:
match self:
case self.YES:
return True
```
The lookup reuses the receiver’s nominal class for nominal instances and
bounded `Self` typevars before resolving enum metadata, so `case
self.YES:` narrows the same way as `case Answer.YES:`. C
Charlie Marsh committed
e9d72bb420f26c23e6660bfce4dfa0028b931bff
Parent: 6cbd59b
Committed by GitHub <noreply@github.com>
on 5/21/2026, 11:39:18 AM