Cannot use the same template arguments on function as the ones on struct

Kenji Hara via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Feb 12 06:48:48 PST 2015


On Wednesday, 11 February 2015 at 22:24:53 UTC, anonymous wrote:
> On Wednesday, 11 February 2015 at 22:14:44 UTC, MrSmith wrote:
>> http://dpaste.dzfl.pl/5f1d5d5d9e19
>>
>> Instead I need to use template constraint which is less 
>> compact.
>> http://dpaste.dzfl.pl/571ae84d783e
>>
>> Why such behavior happens?
>
> Seems to work when you add an empty template argument list to 
> `accepter()`, making it `accepter!()()`: 
> http://dpaste.dzfl.pl/2ec186453907
>
> So, compiler bug, I guess? The error message says it tried 
> "!()()", but explicit "!()()" actually works. And the empty 
> template argument list should be optional anyway.

It would be a compiler bug. As far as I know, accepter() and 
accepter!()() has no difference in IFTI.

I filed the issue in bugzilla.
https://issues.dlang.org/show_bug.cgi?id=14174

Kenji Hara


More information about the Digitalmars-d-learn mailing list