Nick Coghlan added the comment:

In this case, we won't fix it in a maintenance release because of the kind of 
change required to eliminate the bug. Adding a new opcode is likely to be the 
simplest fix and that is necessarily a backwards incompatible change (since 
older versions won't understand the new opcode).

Even if we find a solution that doesn't require a new opcode, fixing the 
problem is going to require changes to both the compiler and the eval loop, and 
we simply don't touch those in maintenance releases without a *really* 
compelling reason. Fixing an edge case related to the interaction between two 
features that are already somewhat obscure on their own doesn't qualify.

If anyone does decide to tackle this, I'll note that my examples in my previous 
post may be useful as inspiration for a test case - the final versions of both 
f() and g() should report "from metaclass" as the value of "outer" inside the 
class body, and it should be simple enough to replace the print statements with 
self.assertEqual() in a unit test.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue17853>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to