◐ Shell
clean mode source ↗

Message 242114 - Python tracker

I don't think that I can cache the __call__ of the fget object because it might be an instance of a heaptype, and if someone changed the __class__ of the object in between calls to another heaptype that had a different __call__, you would still get the __call__ from the first type. I also don't know if this is supported behavior or just something that works by accident.

I read through PyObject_Call, and all the code is needed assuming we are not caching the tp_call value.