On 03/10/2012 05:26 AM, Andrei Alexandrescu wrote:
On 3/9/12 4:10 PM, Timon Gehr wrote:
(int, int) foo(int a, int b){return (a,b);}

assert(foo(foo(foo(foo(1,2))))==(1,2));

(int, int) goo(int a, int b, int c){return (a+b, c);}

assert(goo(foo(2,3),1) == (5,1));

This is a recipe for disaster because of the implicit expansion.
Consider forwarding the result of foo to some template. Should the
template take the tuple type, or automatically expand the tuple and
accept individual values?

Andrei

That is how built-in tuples behave. I don't feel strongly for or against it, but consistency should be preserved. What would be a scenario that demonstrates disaster striking?

Reply via email to