[Python-Dev] Issue #26204: compiler now emits a SyntaxWarning on constant statement (original) (raw)
Ethan Furman ethan at stoneleaf.us
Mon Feb 8 13:12:57 EST 2016
- Previous message (by thread): [Python-Dev] Issue #26204: compiler now emits a SyntaxWarning on constant statement
- Next message (by thread): [Python-Dev] Issue #26204: compiler now emits a SyntaxWarning on constant statement
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 02/08/2016 10:00 AM, francismb wrote:
On 02/08/2016 06:44 PM, Victor Stinner wrote:
I changed the Python compiler to ignore any kind "constant expressions", whereas it only ignored strings and integers before: http://bugs.python.org/issue26204
The compiler now also emits a SyntaxWarning on such case. IMHO the warning can help to detect bugs for developers who just learnt Python.
[...]
New behaviour:
haypo at smithers$ ./python Python 3.6.0a0 (default:759a975e1230, Feb 8 2016, 18:21:23) --> def f(): ... False ... :2: SyntaxWarning: ignore constant statement
Just for my understanding:
What would happen if someone has functions where some return constant expressions and others not and then that functions are used depending on some other context. E.g:
def behaviour2(ctx): return 1
def behaviour1(ctx): return some_calculation_with(ctx)
[...]
if ... : return behaviour1(ctx) else : return behaviour2()
Is that going to raise a warning?
No, because those constants are being used (returned). Only constants that aren't used at all get omitted.
--
Ethan
- Previous message (by thread): [Python-Dev] Issue #26204: compiler now emits a SyntaxWarning on constant statement
- Next message (by thread): [Python-Dev] Issue #26204: compiler now emits a SyntaxWarning on constant statement
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]