Message 287293 - Python tracker (original) (raw)
Oops, I spoke too fast :-) "1+1" is not removed.
"1+1" is replaced with "2" by the peephole optimizer, whereas the compiler ignoring constants comes before the peephole optimizer.
One more time, it would be better to implement constant folding at the AST level ;-)
$ python3 Python 3.5.2 (default, Sep 14 2016, 11:28:32)
def func(): ... "docstring" ... 1+1 ... import dis dis.dis(func) 3 0 LOAD_CONST 3 (2) 3 POP_TOP 4 LOAD_CONST 2 (None) 7 RETURN_VALUE