Okay, my conclusion is def f((a)=5)
is wrong, and the code should be changed to report a better error message. I'll file a bug against that. and I'm going with Brett suggestion that [x for x in 1,] is not supported because it's almost certainly a programming error. I think therefore the comment in the Grammar file is distracting. As comments can be. On Feb 20, 2008 3:08 AM, Steve Holden <[EMAIL PROTECTED]> wrote: > The one that surprised me was the legality of > > def eggs((a, )=c): > pass > > That just seems like unpacking-abuse to me. Yep. Here's another abuse, since I can't figure when someone needs a destructuring del statement. >>> class X(object): pass ... >>> X.a = 123 >>> X.b = "hello" >>> X.c = 9.801 >>> X.a, X.b, X.c (123, 'hello', 9.8010000000000002) >>> del (X.a, (X.b, (X.c,))) >>> X.a, X.b, X.c Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: type object 'X' has no attribute 'a' >>> Is this going to be possible in Python3k? > You really *have* been poking around in little-known crevices, haven't you? Like this bug from 2.5, fixed in 2.6 >>> from __future__ import with_statement >>> with f(x=5, 6): ... pass ... ValueError: field context_expr is required for With :) Andrew [EMAIL PROTECTED] _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com