text_signature for get methods is wrong · Issue #93021 · python/cpython (original) (raw)

@JelleZijlstra

In [18]: object.__init__.__get__.__text_signature__
Out[18]: '($self, instance, owner, /)'

In [19]: object.__init__.__get__(1)
Out[19]: <method-wrapper '__init__' of int object at 0x105e7d0b0>

In [20]: object.__init__.__get__(1, 2)
Out[20]: <method-wrapper '__init__' of int object at 0x105e7d0b0>

The signature claims there are two required positional arguments, but in fact the second argument is optional.

(Tested on 3.11 but I think it's wrong on all recent versions.)