https://issues.dlang.org/show_bug.cgi?id=12696
--- Comment #8 from Kenji Hara <[email protected]> --- Finally reduced test case: C.d: ------------ import E; void foo() { Vector4 v; read(v); } void main() {} D.d ------------ import E; void bar() { Vector4 v; read(v); } E.d ------------ struct Matrix(T, uint M, uint N = M) { string toString() const { return ""; } int opCmp()(auto ref in Matrix v) const { return 0; } T[][] arr; auto transposed() { Matrix!(T, N, M) r1; Matrix!(T, M, 1) r2; } } alias Matrix4 = Matrix!(float, 4); alias Vector4 = Matrix!(float, 1, 4); void read(T)(T data) { foreach (it; __traits(allMembers, T)) { static if (mixin(`__traits(compiles, &data.` ~ it ~ `)`)) {} } } build.bat ------------ dmd -c C.d dmd -c D.d dmd -c E.d dmd C.obj D.obj E.obj --
