mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 05:00:16 +03:00
38 lines
1.1 KiB
D
38 lines
1.1 KiB
D
/*
|
|
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)();
|
|
}
|