-
-
Notifications
You must be signed in to change notification settings - Fork 33.7k
Closed as not planned
Closed as not planned
Copy link
Labels
pendingThe issue will be closed if no feedback is providedThe issue will be closed if no feedback is provided
Description
Bug report
Bug description:
import ast
py_test_source = '''
def test() :
"""docstring"""
assert True
...
'''
ast_obj = compile( # https://docs.python.org/library/functions.html#compile
source = py_test_source ,
filename = "" ,
mode = "exec" ,
flags = ast.PyCF_ONLY_AST ,
dont_inherit = 1 ,
optimize = 2 ,
)
print( ast.unparse( ast_obj ) )as i understand the compile() documentation ,
the above example should remove the docstring ,
and the assert line , but it doesn't .
setting the env var PYTHONOPTIMIZE=2 and then
running python with the cmdLine option -OO
this time with
a) compile( ... , dont_inherit=False , ... ) without optimize
b) compile( ... , dont_inherit=0 , ... ) without optimize
c) compile( ... ) without : dont_inherit , optimize
didn't chage the outcome :
compile() never removes docstrings/asserts .
looks like compile() ignores its arg optimize=2
and -OO and PYTHONOPTIMIZE=2 .
CPython versions tested on:
3.11.5
Operating systems tested on:
Windows 10 (22H2) 64bit
Metadata
Metadata
Assignees
Labels
pendingThe issue will be closed if no feedback is providedThe issue will be closed if no feedback is provided