On 13.01.2018 23:57, Timothee Cour wrote:
the DIP says this replace std.typecons.TypeTuple however no mention is
made of named arguments, so I don't see how they could be a
replacement (nor how would that allow for a migration path) without
mentioning a word on this, eg:
what would be the equivalent of this ?
` writeln(tuple!("x", "y", "z")(2, 3, 4).y); `
It would continue to work the same way.
I did consider adding a proposal for built-in named tuple syntax:
writeln((x: 2, y: 3, z: 4).y);
(int a, double b) t = (a: 1, b: 2.0);
int x = t.a;
double y = t.b;
But I decided against it to keep the DIP focused, and because of
potential future-proofing hazards related to named arguments. (For
Phobos tuples, name mismatches are simply ignored when converting one
named tuple into another, which I'm not sure is the best possible
behavior, but the goal of this DIP is not to fight this design.)