digitalmars.D.learn - Bug again?
mixin template test() { int next; } void foo(alias l, alias t)() { t.next = l.next; } void main() { struct A { int next; } A a; mixin test l1; mixin test l2; foo!(l1,a); //ok! foo!(l1,l2); //compilation error! }
Oct 03 2013
On Thursday, 3 October 2013 at 12:24:38 UTC, Zhouxuan wrote:mixin template test() { int next; } void foo(alias l, alias t)() { t.next = l.next; } void main() { struct A { int next; } A a; mixin test l1; mixin test l2; foo!(l1,a); //ok! foo!(l1,l2); //compilation error! }Local aliasing problems..? The error message is Error: function D main is a nested function and cannot be accessed from t.foo!(l1, l2).foo Moving the mixins out of main works.
Oct 03 2013