1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 3 template<typename T, typename U> 4 struct X0 { 5 struct Inner; 6 }; 7 8 template<typename T, typename U> 9 struct X0<T, U>::Inner { 10 T x; 11 U y; 12 13 void f() { x = y; } // expected-error{{incompatible}} 14 }; 15 16 17 void test(int i, float f) { 18 X0<int, float>::Inner inner; 19 inner.x = 5; 20 inner.y = 3.4; 21 inner.f(); 22 23 X0<int*, float *>::Inner inner2; 24 inner2.x = &i; 25 inner2.y = &f; 26 inner2.f(); // expected-note{{instantiation}} 27 } 28