[New-bugs-announce] [issue41520] 3.8.5 regression, warnings.simplefilter('error', SyntaxWarning) does not raise.
Matthias Bussonnier
report at bugs.python.org
Mon Aug 10 17:57:55 EDT 2020
New submission from Matthias Bussonnier <bussonniermatthias at gmail.com>:
assuming
$ cat foo.py
import warnings
from codeop import compile_command
warnings.simplefilter('error', SyntaxWarning)
res = compile_command('1 is 1\n', symbol='exec')
print('Res', res)
On 3.8.0...3.8.4 this correctly raises a SyntaxError:
python foo.py
Traceback (most recent call last):
File "foo.py", line 5, in <module>
res = compile_command('1 is 1\n', symbol='exec')
File "/Users/bussonniermatthias/miniconda3/envs/38/lib/python3.8/codeop.py", line 122, in compile_command
return _maybe_compile(_compile, source, filename, symbol)
File "/Users/bussonniermatthias/miniconda3/envs/38/lib/python3.8/codeop.py", line 99, in _maybe_compile
raise err1
File "/Users/bussonniermatthias/miniconda3/envs/38/lib/python3.8/codeop.py", line 87, in _maybe_compile
code1 = compiler(source + "\n", filename, symbol)
File "/Users/bussonniermatthias/miniconda3/envs/38/lib/python3.8/codeop.py", line 102, in _compile
return compile(source, filename, symbol, PyCF_DONT_IMPLY_DEDENT)
File "<input>", line 1
SyntaxError: "is" with a literal. Did you mean "=="?
But will silently return None on 3.8.5
$ python foo.py
Res None
----------
components: Interpreter Core
messages: 375152
nosy: mbussonn
priority: normal
severity: normal
status: open
title: 3.8.5 regression, warnings.simplefilter('error', SyntaxWarning) does not raise.
type: behavior
versions: Python 3.8
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue41520>
_______________________________________
More information about the New-bugs-announce
mailing list