Kenji Hara wrote:
Currently this is not a bug.
Looking from the module 'main', the mixin identifier 'X' declared
in main.d is *closer* than the 'X' declared in aux.d, because the
latter exists beyond the module import boundary.
Therefore, the use of 'X' in main.d would prefere the `mixin
The code to reproduce the problem consists of 3 modules:
mix.d:
module mix;
mixin template A( alias x) {
string a () {
return x;
}
}
aux.d:
module aux;
import mix;
mixin A!(a in aux) X;
string b () { return b in aux; }
main.d:
module
On Sunday, 15 September 2013 at 18:31:30 UTC, Marek Janukowicz
wrote:
The code to reproduce the problem consists of 3 modules:
mix.d:
module mix;
mixin template A( alias x) {
string a () {
return x;
}
}
aux.d:
module aux;
import mix;
mixin A!(a in aux) X;