STINNER Victor added the comment:
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
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue29463>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com