I sympathize with the sentiment, but 'as' is the wrong keyword; there is no assignment to the thing on its right hand side like there is in all other places where it is used in the syntax (import-as, with-as, except-as).
Also, have you actually tried this in 3.0? It prints a nice SytaxWarning message, which IMO is enough. --Guido On Thu, Apr 24, 2008 at 2:27 AM, Charles Merriam <[EMAIL PROTECTED]> wrote: > Hello All, > > I expect it is far to late for this, and I still wanted to make the issue > known. > > The assert statement is one of the few remaining Python statements > where it (1) does not use parenthesis and (2) takes multiple > arguments. This leads to the common, hard to detect, programming > error: > assert(rarelyHappens > 0 , "Hyperdrive component needs replacement!") > which is equivalent to: > assert True > because the programmer forgot to remove parenthesis for assert statements. > > It would be great to change assert from: > assert_stmt ::= "assert" expression ["," expression] > To: > assert_stmt ::= "assert" expression ["as" expression] > > Which would make only one way to make an assert statement. > > + One less exception to remember > + Fewer "fail silently" errors > + One less place where commas outside parenthesis are used. > (try/except and print just got fixed). > - Way too late: I wish I had noticed months ago. > - Need to patch 2to3, documentation, etc. > > There may be a problem in tuples evaluating as expressions with this > naive fix; it's unclear to > my little brain if a bare expression_list can be reached from > expression. That is, would > assert "tuple","implied" as "Message" > or > assert neverHappen > 0, "Programmer used 2.5 syntax here" > be valid statements? > > In summary, I know that the current assert syntax is wrong. I know > what it should look like. > I do not know if the implementation details of parenthesized tuples > make this difficult. I > should have noticed it a year ago. > > Charles Merriam > _______________________________________________ > Python-3000 mailing list > Python-3000@python.org > http://mail.python.org/mailman/listinfo/python-3000 > Unsubscribe: > http://mail.python.org/mailman/options/python-3000/guido%40python.org > -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com