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.