1namespace ns { 2 template<typename T> 3 struct Foo { 4 template<typename U> struct Bar; 5 }; 6 7 template<typename T> 8 template<typename U> 9 struct Foo<T>::Bar { 10 template<typename V> struct Baz; 11 }; 12 13 template<typename T> 14 template<typename U> 15 template<typename V> 16 struct Foo<T>::Bar<U>::Baz { 17 Foo<T> chokes; 18 ns::Foo<T> works; 19 }; 20} 21