Hello. __call__ and __getattr__ won't work. You see it in pypy source code, because not all of pypy source code is RPython (in fact, Python is a metaprogramming language for RPython). Same goes to **kw.
On Fri, Jul 23, 2010 at 6:49 AM, Hart's Antler <[email protected]> wrote: > Looking through the pypy source code i see **kw, __call__ and __getattr__ are > used, but when i try to write my own rpython code that uses these > conventions, i get translation errors. Do i need to borrow from "application > space" in order to do this or can i just give hints to the annotator? > Thanks, > -brett > > > > #this is allowed > def func(*args): print(args) > > #but this is not? > def func(**kw): print(args) > #error call pattern too complex > > #this class fails to translate, are we not allowed to define our own __call__ > and __getattr__ in rpython? > class A(object): > __call__(*args): print(args) > __getattr__(self,name): print(name) > > > > > > _______________________________________________ > [email protected] > http://codespeak.net/mailman/listinfo/pypy-dev > _______________________________________________ [email protected] http://codespeak.net/mailman/listinfo/pypy-dev
