Skip to content

Commit

Permalink
PEP 634: Change so __match_args__ must be a tuple (#1909)
Browse files Browse the repository at this point in the history
  • Loading branch information
gvanrossum authored Apr 5, 2021
1 parent 0ded16b commit d635956
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions pep-0634.rst
Original file line number Diff line number Diff line change
Expand Up @@ -492,10 +492,10 @@ as follows:
the entire subject; for these types no keyword patterns are accepted.
- The equivalent of ``getattr(cls, "__match_args__", ()))`` is called.
- If this raises an exception the exception bubbles up.
- If the returned value is not a list or tuple, the conversion fails
- If the returned value is not a tuple, the conversion fails
and ``TypeError`` is raised.
- If there are more positional patterns than the length of
``__match_args__``` (as obtained using ``len()``), ``TypeError`` is raised.
``__match_args__`` (as obtained using ``len()``), ``TypeError`` is raised.
- Otherwise, positional pattern ``i`` is converted to a keyword pattern
using ``__match_args__[i]`` as the keyword,
provided it the latter is a string;
Expand All @@ -513,7 +513,7 @@ positional subpatterns is different:
This behavior is roughly equivalent to the following::

class C:
__match_args__ = ["__match_self_prop__"]
__match_args__ = ("__match_self_prop__",)
@property
def __match_self_prop__(self):
return self
Expand Down

0 comments on commit d635956

Please sign in to comment.