Cannot alias expression

Dicebot public at dicebot.lv
Mon Oct 21 08:00:25 PDT 2013


On Monday, 21 October 2013 at 12:58:55 UTC, John Colvin wrote:
> I suspect I'm being very dumb here, but I can't get my head 
> around this:
>
>     template B(alias A)
>     {
> 	alias B = A;
>     }
>     template C(A ...)
>     {
> 	alias C = A[0];
>     }
>     static assert(B!1 == 1); //fine
>     static assert(C!1 == 1); //Error: cannot alias an 
> expression 1

I think this is a good match for a gold collection of "awkward 
mismatch of template alias vs normal alias". I am quite surprised 
former template work actually, aliases are not supposed to handle 
expressions at all. But magic of template alias parameter turns 
expression into symbol and here we go.


More information about the Digitalmars-d-learn mailing list