[Python-ideas] SyntaxWarning for for/while/else without break or return?
jh at improva.dk
Fri Oct 9 08:24:47 CEST 2009
Steven D'Aprano wrote:
> On Thu, 8 Oct 2009 07:57:38 pm Stefan Rank wrote:
>> This would both help prevent wrong usage because of a false intuition
>> and, if adequately and prominently documented, would help those
>> interested in learning about for/else while/else.
>> Easily doable? Maybe even make it a SyntaxError?
> -1000 on making it a SyntaxError. SyntaxErrors are for things which are
> WRONG, not for things which are unnecessary or redundant or pointless.
> Should this be prohibited too?
> for x in seq:
> if 0: break
> print "whatever"
No, see below.
> What happens when the break is under a __debug__ test? The same source
> compiles to two different byte-codes, one of which has break, the other
If I understand Nick correctly, this is irrelevant. The warning/error
generation would be handled by an earlier stage than the optimization
that removes the break.
More information about the Python-ideas