On Tue, 12 Jul 2011 09:06:56 -0400, Trass3r <u...@known.com> wrote:

Is this a bug? If not, how do you make it work?

void h() {}

class Bla
{
        mixin wrap!h;
}

mixin template wrap(alias f)
{
        void blub(alias g = f)()
        {
        }
}

void main()
{
        Bla b = new Bla();
        b.blub();
}

test.d(18): Error: template instance cannot use local 'f' as parameter to non-global template blub(alias g = f)
test.d(18): Error: template instance forward reference of f
test.d(18): Error: template instance test.Bla.wrap!(h).blub!(f) error instantiating

I've seen this error before...

*searches memory and old code*

Here you go: http://d.puremagic.com/issues/show_bug.cgi?id=3051

As a workaround, is there a reason you need blub to be parameterized? I mean, f is already part of the template.

-Steve

Reply via email to