![](https://secure.gravatar.com/avatar/3dc5fffe0e94dfa07067a45400213034.jpg?s=120&d=mm&r=g)
Hi, I wish I'd read this before replaying your last email On 18/02/2021 6:49 pm, Brandt Bucher wrote:
Brandt Bucher wrote:
For a pattern with no positional subpatterns, such as like `C()` or `C(x=x, y=y, z=z)`: ...
It also appears that we lose a lot of expressive "idioms" by requiring `__attributes__` to be complete.
This also means that matching classes like `types.SimpleNamespace` are much less powerful under PEP 653, since the class must know which attributes are "allowed" to be looked up.
Never mind these three points... I *think* setting `__match_kind__ = MATCH_DEFAULT` allows for arbitrary attribute extraction like this. Perhaps make it bit clearer?
Not quite. It uses the instance dictionary to avoid capturing bound methods and other computed attributes. I'll make this more prominent. Cheers, Mark.