Thread overview
Cannot use locat x as parameter to non-global template y
Sep 22, 2013
simendsjo
Sep 22, 2013
bearophile
Sep 22, 2013
simendsjo
Sep 22, 2013
simendsjo
Sep 22, 2013
simendsjo
September 22, 2013
God, I hate these errors. Tried updating dmd head, and these started popping up.
Now I have to move all templates out...
September 22, 2013
simendsjo:

> God, I hate these errors. Tried updating dmd head, and these started popping up.
> Now I have to move all templates out...

Can you show a small example of code that gives that error?

Bye,
bearophile
September 22, 2013
On Sunday, 22 September 2013 at 12:26:03 UTC, bearophile wrote:
> simendsjo:
>
>> God, I hate these errors. Tried updating dmd head, and these started popping up.
>> Now I have to move all templates out...
>
> Can you show a small example of code that gives that error?
>
> Bye,
> bearophile

Nope. I cannot get dustmite to work: https://github.com/CyberShadow/DustMite/issues/16
September 22, 2013
On Sunday, 22 September 2013 at 12:26:03 UTC, bearophile wrote:
> simendsjo:
>
>> God, I hate these errors. Tried updating dmd head, and these started popping up.
>> Now I have to move all templates out...
>
> Can you show a small example of code that gives that error?
>
> Bye,
> bearophile

dustmite for the win!

template A(T...) {
    template B(alias T) { }
}

void main() {
    void fv() {}
    alias A!(fv) F;
    F.B!F;
}

dmd -unittest t.d
t.d(8): Error: template instance B!(A!(fv)) cannot use local 'A!(fv)' as parameter to non-global template B(alias T)
September 22, 2013
On Sunday, 22 September 2013 at 13:36:48 UTC, simendsjo wrote:
> On Sunday, 22 September 2013 at 12:26:03 UTC, bearophile wrote:
>> simendsjo:
>>
>>> God, I hate these errors. Tried updating dmd head, and these started popping up.
>>> Now I have to move all templates out...
>>
>> Can you show a small example of code that gives that error?
>>
>> Bye,
>> bearophile
>
> dustmite for the win!
>
> template A(T...) {
>     template B(alias T) { }
> }
>
> void main() {
>     void fv() {}
>     alias A!(fv) F;
>     F.B!F;
> }
>
> dmd -unittest t.d
> t.d(8): Error: template instance B!(A!(fv)) cannot use local 'A!(fv)' as parameter to non-global template B(alias T)

Added a ticket too: http://d.puremagic.com/issues/show_bug.cgi?id=11098
Probably a dup of many of the other local aliasing tickets though..