On 7/9/2010 4:42 PM, Georg Brandl wrote:
Am 09.07.2010 22:26, schrieb Mark Dickinson:
On Fri, Jul 9, 2010 at 8:37 PM, Dino Viehland<di...@microsoft.com> wrote:
Terry wrote:
This violates the important principle that allowed def and call arg
sequences should match to the extent sensible and possible. In this
sense, the SyntaxError is a bug. So I would fix this now for 3.2 and
notify the other implementors.
+1 on fixing it - trailing commas are awesome. I'm always annoyed in
C# where I frequently can't use them. This seems like a bug fix level
change that should be easy for the other implementations to fix.
Thanks for all the feedback.
If the grammar is changed to allow "def f(*, a,): pass", that still
leaves some more open questions: which of the following should be
valid?
(1) def f(*args,): pass
(2) def f(**kwargs,): pass
(3) def f(*,): pass
IMO all of them (though as you mention, (3) doesn't matter.)
Agreed. It's one less thing to explain: "You can have a trailing comma
in an argument list, unless there's a bare star, and in that case you
can't have a comma; and also if ...". Ick.
Eric.
_______________________________________________
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