On 01/23/2018 01:51 PM, Alex wrote:
> Ok, I'm quite sure, I overlooked something.
>
> First version, working
>
> [code]
> void main()
> {
>      auto s = S();
>      auto t = T!s();
>      t.fun;
> }
> struct S { void fun(){} }
> struct T(alias s){ auto fun() { s.fun; } }
> [/code]
>
> Now, the fun method of struct T has to become static and the problems
> begin:
> Error: static function app.main.T!(s).T.fun cannot access frame of
> function D main

Good news: Works at least with 2.078 as it should:

void main()
{
    auto s = S();
    auto t = T!s();
    t.fun;
}
struct S { static void fun(){} }
struct T(alias s){ auto fun() { s.fun; } }

Ali

Reply via email to