Thread overview
[Issue 16061] [Reg 2.071.1-b1] dot template instance of imported template fails as overloadset
Sep 13, 2016
Martin Nowak
Sep 13, 2016
Martin Nowak
Sep 13, 2016
Martin Nowak
September 13, 2016
https://issues.dlang.org/show_bug.cgi?id=16061

Martin Nowak <code@dawg.eu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |code@dawg.eu
            Summary|2.071.1-b1 regression --    |[Reg 2.071.1-b1] dot
                   |Works with 2.071            |template instance of
                   |                            |imported template fails as
                   |                            |overloadset

--
September 13, 2016
https://issues.dlang.org/show_bug.cgi?id=16061

Martin Nowak <code@dawg.eu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|nobody@puremagic.com        |code@dawg.eu

--
September 13, 2016
https://issues.dlang.org/show_bug.cgi?id=16061

Martin Nowak <code@dawg.eu> changed:

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

--- Comment #1 from Martin Nowak <code@dawg.eu> ---
The behavior is correct and intended. Also matches pre-2.071.0 behavior.
It's an overloadset of import bar.Zoo and mixin Bar!().Zoo.
The 2-phase lookup for local vs. imported symbols is only done for unqualified
lookups, but T.Zoo!T is qualified so it also finds the imported template.

This was wrongly implemented in 2.071.1-b1 (only searched locals), but got
fixed here
https://github.com/dlang/dmd/pull/5651/files#diff-ddbaa5e9ca3d5c90a425a9dfafaf1734R1123,
by not enforcing SearchLocalsOnly if no flags was provided.

--