Re: [Python-Dev] PEP 575: Unifying function/method classes
On 2018-04-14 23:14, Guido van Rossum wrote:
That actually sounds like a pretty big problem. I'm sure there is lots of code that doesn't *just* duck-type nor calls inspect but uses isinstance() to decide how to extract the desired information.
I have been thinking about this some more... One solution to improve backwards compatibility would be to duplicate some classes. For example, make a separate class for bound methods in extension types, which would be literally a duplicate of the existing types.MethodType class (possibly with a different name). In other words, a bound method of an extension type would work exactly the same way as an existing bound method but it would artificially be a different class for the benefit of non-duck-typing.
On 2018-04-20 12:02, Jeroen Demeyer wrote:
One solution to improve backwards compatibility would be to duplicate some classes. For example, make a separate class for bound methods in extension types, which would be literally a duplicate of the existing types.MethodType class (possibly with a different name). In other words, a bound method of an extension type would work exactly the same way as an existing bound method but it would artificially be a different class for the benefit of non-duck-typing.
I elaborated on this: https://www.python.org/dev/peps/pep-0575/#two-phase-implementation
participants (1)
-
Jeroen Demeyer