On Fri, May 08, 2020 at 10:46:45PM +0300, Serhiy Storchaka wrote:
I propose to add the METH_GENERAL flag, which is applicable to methods as METH_CLASS and METH_STATIC (and is mutually incompatible with them). If it is set, the check for the type of self will be omitted, and you can pass an arbitrary object as the first argument of the unbound method.
Does this effect code written in Python? As I understand, in Python code, unbound methods are just plain old functions, and there is no type-checking done on `self`. py> class C: ... def method(self, arg): ... return (self,) ... py> C.method(999, None) (999,) So I think your proposal will only affect builtin methods written in C. Is that correct? -- Steven