blob: afc8a29969c283ec467e32f449fe017d5360580f [file] [log] [blame]
/*
TEST_OUTPUT:
---
fail_compilation/nestedtempl2.d(22): Deprecation: function `nestedtempl2.B.func!(n).func` function requires a dual-context, which is deprecated
fail_compilation/nestedtempl2.d(34): instantiated from here: `func!(n)`
fail_compilation/nestedtempl2.d(34): Error: `this` is only defined in non-static member functions, not `test`
fail_compilation/nestedtempl2.d(34): Error: need `this` of type `B` to call function `func`
fail_compilation/nestedtempl2.d(35): Error: `this` is only defined in non-static member functions, not `test`
fail_compilation/nestedtempl2.d(35): Error: need `this` of type `B` to make delegate from function `func`
fail_compilation/nestedtempl2.d(37): Error: `this` is only defined in non-static member functions, not `test`
fail_compilation/nestedtempl2.d(37): Error: need `this` of type `B` needed to `new` nested class `N`
---
*/
class B
{
int n;
}
void test()
{
auto func(alias a)()
{
return a;
}
class N(alias a)
{
}
auto b = new B();
b.n = 1;
func!(b.n)();
auto dg = &func!(b.n);
new N!(b.n)();
}