On Thu, Sep 22, 2016 at 4:43 PM, Alexander Belopolsky <alexander.belopolsky@gmail.com> wrote:

On Thu, Sep 22, 2016 at 4:37 PM, Alexander Belopolsky <alexander.belopolsky@gmail.com> wrote:
On the second thought, why can't the parser simply replace A with 'A' in annotations that appear in the body of class A?  This will only break somewhat pathological code that defines A before it is (re)defined by the class statement. 

Then the default metaclass (type) can go over the annotations and replace 'A' with A that it just computed.

On the third thought, this entire feature can be implemented in the metaclass by injecting A = 'A' in the dict in __prepare__.