17 lines
		
	
	
		
			350 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			17 lines
		
	
	
		
			350 B
		
	
	
	
		
			C++
		
	
	
	
// 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}}
 | 
						|
}
 | 
						|
 |