On Friday, 4 December 2015 at 10:42:46 UTC, Marc Schütz wrote:
;

Then we can add some syntax sugar to leave out the braces, too:

    void bar(int a, T t)
    bar(42, a: "bla", b: "xyz");

This effectively gives us strongly typed named arguments, without making the names part of the function signature, which Walter objected to the last time something like this was proposed.

I like the idea of field names in a struct literal, but I would prefer to keep the parens. And no braces! The syntax for literals is already recommended over the C-style initializers, so IMO the same ought to hold for named initializers. I agree with dropping the struct name, though.

bar(42, (a: "bla", b: "xyz"))

I realized that if named arguments are not supported, then dropping the parens should still indicate that you're dealing with a struct, but the clear delineation is much more obvious. It also holds the door open for Walter to change his mind on named arguments.

Reply via email to