On Friday, 16 May 2014 at 23:14:13 UTC, Idan Arye wrote:
On Friday, 16 May 2014 at 20:31:40 UTC, Phil Lavoie wrote:
void myTemplateFunction( InputRange!int r ) {
 foreach( elt; r ) { ... }
}

What do you think? Does this feel right to you?

Phil

The main problem is that `myTemplateFunction`'s signature makes it look like it's a concrete function, when in fact it's a template. Another problem is that we now have to have an argument if we want to pass a template parameter, which is a serious limitation.

I have though about this kind of problem before when I was thinking of similar syntax. My solution was to require empty template parameters at least.

void foo()(InputRange r);

In my proposed syntax however, InputRange was not a type.

Reply via email to