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