Daniel Keep wrote:

BLS wrote:
I have somehow the idea that D constraints and template specialization
should merge.
Guess what I want to say is that instead of accepting the  compiler
decision for template specialization  a constraints could be used for :
"I am not the one who is able to fulfill your needs.. try this template
instead."

template Foo(int N)
        if ( ( N & 1 _else_ FooOdd!(int N)) )
{
    ...
}

Firstly, why not

template Foo(int N)
    if( N&1 ) else FooOdd!N
{
    ...
}

Secondly, why?  I mean, isn't this equivalent to:

template Foo(int N)
{
    static if( N&1 ) { ... }
    else alias FooOdd!N Foo;
}

...

A smarter implementation will probably support tuple based pattern
matching.

Huh?  Isn't this how template matching works anyway; match a given
argument tuple against the available templates?

sure, but Mister Compiler makes that decision, What I want is _also_ programmer control.

template Foo(T : Tuple)
        match T { case... }
{
//default
}



Lastly, what's that in the subject about dropping IFTI?  I seriously
hope you're joking about that.

ok, wrong description, wrong words. should be -> make implicit function template instantiation explicit :) work.

Reply via email to