Arr(T)1 struct Arr(T) 2 { 3 T[] dArr; 4 alias dArr this; 5 bool opEquals(Arr!T d) 6 { 7 foreach (idx, it; d) 8 { 9 if (this[idx] != it) 10 { 11 return false; 12 } 13 } 14 return true; 15 } 16 } 17 18 class Bar 19 { 20 Arr!Foo fooQ; 21 } 22 23 class Foo {} // NG 24 25