Brandt Bucher <brandtbuc...@gmail.com> added the comment:

I agree with Eric. You can already disable the automatic creation of 
__match_args__ by setting it yourself on the class being decorated, and 
"__match_args__ = ()" will make the class behave the exact same as if 
__match_args__ is not defined at all.

>>> from dataclasses import dataclass
>>> @dataclass 
... class X:
...     __match_args__ = ()
...     a: int
...     b: int
...     c: int
... 
>>> X.__match_args__
()

I too have trouble imagining a case where the actual *presence* of the 
attribute matters. But assuming those cases exist, wouldn't a simple "del 
X.__match_args__" suffice?

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue43764>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to