www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 19286] New: Aliases declared in static foreaches cannot be

https://issues.dlang.org/show_bug.cgi?id=19286

          Issue ID: 19286
           Summary: Aliases declared in static foreaches cannot be used
                    with UFCS
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: zorael gmail.com

Manjaro/Arch x86_64, dmd v2.082.0. Also occurs on run.dlang.io.

module aliastest;

void foo(T)(string s) {}

alias normalAlias = foo!string;

mixin(q{ alias mixinAlias = foo!bool; });

static foreach (i; 0..1)
{
    alias foreachAlias = foo!int;
}

void main()
{
    normalAlias("normal");
    "normal ufcs".normalAlias;

    mixinAlias("mixin");
    "mixin ufcs".mixinAlias;

    foreachAlias("foreach");
    "foreach ufcs".foreachAlias;  // Error: no property foreachAlias for type
string
}

--
Oct 03 2018