PEP 634: Change so __match_args__ must be a tuple (#1909)
This commit is contained in:
parent
0ded16b91e
commit
d6359564f8
|
@ -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;
|
||||
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue