Thread overview
[Issue 18263] selective import with same name masks out this reference in mixin template
Jan 19, 2018
RazvanN
Jan 19, 2018
RazvanN
Jan 22, 2018
FeepingCreature
Nov 05, 2018
RazvanN
Nov 05, 2018
FeepingCreature
Nov 06, 2018
RazvanN
January 19, 2018
https://issues.dlang.org/show_bug.cgi?id=18263

RazvanN <razvan.nitu1305@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |razvan.nitu1305@gmail.com

--- Comment #1 from RazvanN <razvan.nitu1305@gmail.com> ---
There is no need for the mixin template. Reduced test case:

struct Filter
{
    void bar() { }

    static void foo()
    {
        import std.meta : Filter;
        alias bar = this.bar;
    }
}

--
January 19, 2018
https://issues.dlang.org/show_bug.cgi?id=18263

--- Comment #2 from RazvanN <razvan.nitu1305@gmail.com> ---
Come to think of it, there should be no this in static context, so if you remove the static keyword from the foo function, the code will compile. In this case, the compiler should error stating that you cannot you this in a static context.

--
January 22, 2018
https://issues.dlang.org/show_bug.cgi?id=18263

FeepingCreature <default_357-line@yahoo.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|enhancement                 |normal

--- Comment #3 from FeepingCreature <default_357-line@yahoo.de> ---
Oh, good point - typeof(this).bar fixes the issue.

--
November 05, 2018
https://issues.dlang.org/show_bug.cgi?id=18263

--- Comment #4 from RazvanN <razvan.nitu1305@gmail.com> ---
Now that using `this` as a type is deprecated, I think that we can close this. What do you think Feep?

--
November 05, 2018
https://issues.dlang.org/show_bug.cgi?id=18263

--- Comment #5 from FeepingCreature <default_357-line@yahoo.de> ---
Good point! I'd prefer to wait until the actual deprecation goes through, but at least there's some hint towards what is happening now.

--
November 06, 2018
https://issues.dlang.org/show_bug.cgi?id=18263

RazvanN <razvan.nitu1305@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--