Author ncoghlan
Recipients benjamin.peterson, daniel.urban, ethan.furman, mark.dickinson, ncoghlan
Date 2013-04-28.03:47:53
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1367120874.39.0.209581560629.issue17853@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2013-04-28 03:47:54ncoghlansetrecipients: + ncoghlan, mark.dickinson, benjamin.peterson, daniel.urban, ethan.furman
2013-04-28 03:47:54ncoghlansetmessageid: <1367120874.39.0.209581560629.issue17853@psf.upfronthosting.co.za>
2013-04-28 03:47:54ncoghlanlinkissue17853 messages
2013-04-28 03:47:53ncoghlancreate