[Python-Dev] Odd compile errors for bad genexps
Raymond Hettinger
python at rcn.com
Thu Sep 30 02:40:42 CEST 2004
> [Tim]
> > >>> (i for i in x) = 2
> > SystemError: assign to generator expression not possible
> >
> > 1. Why is that a SystemError instead of a SyntaxError? SystemError
> > doesn't make sense.
. . .
> > >>> (i for i in x) += 2
> > SyntaxError: augmented assign to tuple literal not possible
> >
> > 3. That's not a tuple literal
Okay, those two are fixed.
> > 2. Why didn't it echo the offending line?
The code for com_error() screens out the line numbering when in the
interactive mode. You get the full echo when running a script.
What is interesting is that some syntax errors ("2 & * 3" for example)
by-pass com_error() and echo the line with a caret pointing at the
offending token.
These are both probably as they should be.
Raymond
More information about the Python-Dev
mailing list