On Wed, Aug 18, 2010 at 12:03 PM, Stefan Behnel <[email protected]> wrote: > Robert Bradshaw, 18.08.2010 20:47: >> On Wed, Aug 18, 2010 at 11:29 AM, Stefan Behnel wrote: >>> Robert Bradshaw, 18.08.2010 20:16: >>>> In terms of impacting user code, the only case it impacts is if people >>>> access __getattr__ by name. Is anyone doing that? >>> >>> Well, yes, look at the test case I added. >> >> It was a test in response to this regression :). >> >>> It's quite common to map >>> __getitem__ or __getattr__ on the other method respectively to provide >>> different interfaces for a class, e.g. to provide a __getitem__ fallback >>> for names that do not work as a Python identifier. >> >> I've never seen this, but could see that being justified. >> >>> You can also use the >>> unbound __getattr__ method to read a sequence of attributes. >> >> Would using the getattr builtin be a more natural way of doing this? >> Or is the point to skip the normal attribute lookup steps? > > To be honest, I don't know. As I said, likely not the most common use case. > > Another thing I forgot to mention is that Cython uses the lookup internally > in two cases: when generating the __test__ dict and in the now modified > module init code that sets up the docstrings. Both fail when __getattr__ > cannot be found, thus preventing the module from being used at all if users > have a docstring in their __getattr__ methods.
This is easily accounted for in our code, the same way we handle __cinit__, etc. >> Lets release 0.13 without this lookup regression/performance fix >> (depending on your point of view) and keep the discussion open for >> what to do for 0.13.1 (which, if it isn't out soon, may require a >> patched Cython for Sage.) > > Based on previous experience, I think it'll be a lot easier to release a > 0.13.1 once 0.13 is out. ;) +1 Release candidate will be out today (with the current tip) and pending no major breakage, that will be the release very shortly. - Robert _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
