Where does the template parameter E come from?

2011-03-28 Thread simendsjo
When running compose with two arguments, the implementation uses the template parameter E. I don't understand what's going on here as E isn't submitted to the template - what type is E? I've also seen this in unary/binaryFun using ElementType. template compose(fun...) { alias

Re: Where does the template parameter E come from?

2011-03-28 Thread simendsjo
On 28.03.2011 16:54, simendsjo wrote: When running compose with two arguments, the implementation uses the template parameter E. I don't understand what's going on here as E isn't submitted to the template - what type is E? I've also seen this in unary/binaryFun using ElementType. template

Re: Where does the template parameter E come from?

2011-03-28 Thread David Nadlinger
On 3/28/11 4:54 PM, simendsjo wrote: When running compose with two arguments, the implementation uses the template parameter E. I don't understand what's going on here as E isn't submitted to the template - what type is E? […] typeof({ E a; return fun0(fun1(a)); }()) doIt(E)(E a) { […] } doIt

Re: Where does the template parameter E come from?

2011-03-28 Thread David Nadlinger
On 3/28/11 5:14 PM, simendsjo wrote: On 28.03.2011 17:07, David Nadlinger wrote: On 3/28/11 4:54 PM, simendsjo wrote: When running compose with two arguments, the implementation uses the template parameter E. I don't understand what's going on here as E isn't submitted to the template - what

Re: Where does the template parameter E come from?

2011-03-28 Thread simendsjo
On 28.03.2011 17:07, David Nadlinger wrote: On 3/28/11 4:54 PM, simendsjo wrote: When running compose with two arguments, the implementation uses the template parameter E. I don't understand what's going on here as E isn't submitted to the template - what type is E? […] typeof({ E a; return