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. For example if you do: class C: pass class D: pass # not a subclass C.m = ... D.m = C.m then D().m doesn't give you a bound method in CPython either. I'm not sure why exactly it is so, but I guess it makes some sense. Also note that in your patch you shouldn't assume that w_function is a wrapped Function instance (the name is bad, it should be w_callable). A bientot, Armin. _______________________________________________ [EMAIL PROTECTED] http://codespeak.net/mailman/listinfo/pypy-dev
