// RUN: %clang_cc1 -fsyntax-only -verify %s
template <typename T>
struct A {
typedef int iterator; // expected-note{{declared here}}
};
template <typename T>
void f() {
class A <T> ::iterator foo; // expected-error{{elaborated type refers to a typedef}}
}
void g() {
f<int>(); // expected-note{{in instantiation of function template}}
}