On 03/09/2012 01:23 AM, Manu wrote:
I can imagine syntax using parentheses, but I don't think I'm qualified
to propose a robust syntax, I don't know enough about the finer details
of the grammar.
Perhaps if other people agree with me, they could present some creative
solutions to the syntax?
I imagine something like:
auto (x, y) = func(); // specify auto for all results?
float (x, y) = func(); // specify explicit type for all results?
(int x, float y) = func; // explicitly type each result?
This works, and Kenji Hara has already implemented appropriate parser
extensions.
int x; ... (x, float y) = func(); // assign to predeclared variable(/s)?
(x, , z) = func(); // ignore the second result value (elimination of the
second result's code path)
Those two would work, but (x,y) = func(); conflicts with the comma
operator. (I'd prefer (,) to be a tuple constructor though.)