Message120396
Further updated implementation. Now handles data descriptors correctly but removes the code that resolves the builtin descriptors (calling __get__ on slot and attribute descriptors).
As it was resolving some descriptors but not all, and resolving getset descriptors could still trigger execution in C extensions, Benjamin felt it was more consistent and cleaner to return descriptor objects rather than resolving them. As a bonus it makes the code shorter too.
I would add to the documentation some example code showing how to handle the descriptor if the user wants to resolve them herself. (Example code shown in the tests.)
The only remaining cases that are handled incorrectly are pathological ones. (See the notes in the tests.) |
|
Date |
User |
Action |
Args |
2010-11-04 12:20:59 | michael.foord | set | recipients:
+ michael.foord, ncoghlan, pitrou, benjamin.peterson, Trundle |
2010-11-04 12:20:59 | michael.foord | set | messageid: <1288873259.43.0.314231981583.issue9732@psf.upfronthosting.co.za> |
2010-11-04 12:20:56 | michael.foord | link | issue9732 messages |
2010-11-04 12:20:55 | michael.foord | create | |
|