[pypy-dev] Unbound method must be called with instance as first argument

Richard Emslie rxe at ukshells.co.uk
Sun Jul 11 14:57:29 CEST 2004

Hi Armin,

On Wed, 7 Jul 2004, Armin Rigo wrote:

> Hello Richard,
> On Tue, Jul 06, 2004 at 02:12:04PM +0100, Richard Emslie wrote:
>>>> The CPython implementation seems to be doing some hairy caching instead of
>>>> creating new method each __get__(), so it hard to tell if this is correct
>>>> behaviour.
> I believe we should closely follow CPython's behavior unless there is a reason
> not to.  The algorithm appears to look like:
> * already bound methods are never re-bound
> * unbound method objects can get bound but only to something more specific
> than before.

I got you checkins which do this - thanks.

I did notice that
def f(): pass

crashes the pypy interpreter.

Sticking a try/except around performance_shortcut_call() in 
DescrOperation.call_args() fixes - but is not a solution.  I'm not sure 
why it goes wrong.


More information about the Pypy-dev mailing list