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