Open max-muoto opened 1 week ago
The __replace__
method itself is an implementation detail. Only the support of copy.replace()
should be documented. In future we may add other ways to specify this.
Special methods like __iter__
or __reduce__
are rarely documented. Instead the fact that objects are iterable or pickleable are documented.
The
__replace__
method itself is an implementation detail. Only the support ofcopy.replace()
should be documented. In future we may add other ways to specify this.Special methods like
__iter__
or__reduce__
are rarely documented. Instead the fact that objects are iterable or pickleable are documented.
Makes sense, I will just say it just being documented in copy
, while it needing to be special-cased I think makes it harder to realize that type-checkers should likely implement support - so I do wonder if there's a better way to indicate things like that long-term.
Documentation
With named tuples and dataclasses now implementing
__replace__
, it would be good to have some clearer documentation on this somewhere. Type-checkers will likely have to implement support as a specific implementation detail, which MyPy is already starting to do (see here, for example), so having more formal documentation of this fact would helpful.