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 <rep...@bugs.python.org>
<http://bugs.python.org/issue29463>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to