Thor Whalen <thorwha...@gmail.com> added the comment:
On the surface, seems like a fair design to me: Back-compatible yet solves this misalignment that bugged me (literally). It would also force the documentation of `functools.wraps` to mention this "trap", through describing the `signature_changed` flag. As for the `__wrapped_with_changed_signature__`; yes, it's terrible. But I have no better. At least, it's very descriptive! On Sat, May 1, 2021 at 9:52 PM Jelle Zijlstra <rep...@bugs.python.org> wrote: > > Jelle Zijlstra <jelle.zijls...@gmail.com> added the comment: > > We could add a new argument to `@functools.wraps()` to differentiate > between a wrapper with the same signature and one with a different > signature. > > Here's a possible design: > * functools.wraps adds a new keyword-only argument signature_changed. It > defaults to False for backward compatibility. > * If signature_changed is True: > * __annotations__ are not copied > * __wrapped__ is not set on the wrapping function. Instead, we set a new > attribute __wrapped_with_changed_signature__ (that's a pretty terrible > name, open to suggestions). This will make inspect.signature not look at > the wrapped function. > > ---------- > > _______________________________________ > Python tracker <rep...@bugs.python.org> > <https://bugs.python.org/issue41232> > _______________________________________ > ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue41232> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com