Pablo Galindo Salgado <pablog...@gmail.com> added the comment:

I don't think this is a bug. Technically the 'from __future__ import 
annotations' is a compiler option, not an AST one. Also, the flag says that 
"annotations become strings at runtime" and at the point, we have an AST is not 
still runtime. The CO_FUTURE_ANNOTATIONS only takes place in the compiler that 
reverses the AST object into a string. If we make the AST aware of 
CO_FUTURE_ANNOTATIONS, then what the compiler will see in the presence of  
'from __future__ import annotations' would be different if you compile a module 
than if you parse it using ast.parse() and then compile the result (in the 
second case the compiler will see strings in the annotations, not AST nodes 
while in the first case it will see nodes). Additionally, doing this will limit 
tools that want to analyze the contents of those annotations before they get 
turned into strings (like type checker, linters...etc).

----------
nosy: +pablogsal

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

Reply via email to