
Christopher Barker wrote:
... folks don't want annotations to hurt run-time performance, particularly when they are being used primarily for pre-run-time static type checking.
So are we looking for three separate optimization levels at compile time? Base level: evaluate everything, keep it however the original annotations PEP said to keep it. String level: Characters in an annotation are not evaluated; they just get stored in a string. The string (rather than its value) is then kept however the original annotations PEP said things would be kept. Removal level: Annotations are used only with source code (perhaps by static analyzers before compilation); they are dropped entirely during compilation. This might go well with the old compilation mode that drops docstrings. -jJ