1 /* 2 TEST_OUTPUT: 3 --- 4 fail_compilation/fail3.d(40): Error: incompatible types for ((a) + (b)): 'vec2' and 'vec2' 5 --- 6 */ 7 8 // DMD 0.79 linux: Internal error: ../ztc/cgcod.c 1459 9 vector(T)10template vector(T) 11 { 12 struct vec2 13 { 14 T x, y; 15 } 16 17 vec2 opAdd(vec2 a, vec2 b) 18 { 19 vec2 r; 20 r.x = a.x + b.x; 21 r.y = a.y + b.y; 22 return r; 23 } 24 25 vec2 make2(T x, T y) 26 { 27 vec2 a; 28 a.x = x; 29 a.y = y; 30 return a; 31 } 32 } 33 34 alias vector!(float).vec2 vec2f; 35 main()36int main() 37 { 38 vec2f a, b; 39 b.x = 3; 40 a = a + b; 41 //printf("%f\n", a.x); 42 return 0; 43 } 44