[Issue 9365] Allow partially specified template aliases

d-bugmail at puremagic.com d-bugmail at puremagic.com
Mon Jan 21 15:11:58 PST 2013


http://d.puremagic.com/issues/show_bug.cgi?id=9365



--- Comment #2 from Peter Alexander <peter.alexander.au at gmail.com> 2013-01-21 15:11:58 PST ---
(In reply to comment #1)
> This can be implemented in the library, the last thing you want is for
> templates being partially instantiated when you pass too few arguments instead
> of getting an error.

There will be no partial instantiation (what it that anyway?)

What I'm asking for is a rewrite from:

alias A = B!(x, y);

to

alias A = ((args...) => B!(x, y)(args)); // if this was valid syntax

when B has more than 2 non-default template parameters. The rest are determined
using type deduction when A is invoked.

This is frustrating:

void foo(A, B)(A a, B b) {}

foo(1, 2); // OK
foo!(int)(1, 2); // OK
foo!(int, int)(1, 2); // OK

alias X = foo; // OK
alias Y = foo!(int); // ERROR
alias Z = foo!(int, int); // OK

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list