November 17, 2014
https://issues.dlang.org/show_bug.cgi?id=13744

          Issue ID: 13744
           Summary: Cannot pass private symbol as alias parameter
           Product: D
           Version: D2
          Hardware: x86
                OS: Mac OS X
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: DMD
          Assignee: nobody@puremagic.com
          Reporter: deadalnix@gmail.com

module a;

struct A(alias foo) {
  auto bar() {
     return foo();
  }
}

module b;

import a;

void main() {
    auto a = A!bar();
}

private int bar() { return 42; }

This is failing because a.A.foo is trying to access b.bar which is private.

--