1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 3 template <typename T> 4 struct A { 5 typedef int iterator; // expected-note{{declared here}} 6 }; 7 8 template <typename T> 9 void f() { 10 class A <T> ::iterator foo; // expected-error{{elaborated type refers to a typedef}} 11 } 12 13 void g() { 14 f<int>(); // expected-note{{in instantiation of function template}} 15 } 16 17