| // RUN: %clang_cc1 -fsyntax-only %s | 
 |  | 
 | typedef struct objc_class *Class; | 
 | typedef struct objc_object { | 
 |  Class isa; | 
 | } *id; | 
 |      | 
 |              | 
 | @protocol P @end | 
 |  | 
 | @interface MyList | 
 | @end | 
 |      | 
 | @implementation MyList | 
 | - (unsigned int)countByEnumeratingWithState:  (struct __objcFastEnumerationState *)state objects:  (id *)items count:(unsigned int)stackcount | 
 | { | 
 |         return 0; | 
 | } | 
 | @end | 
 |  | 
 | @interface MyList (BasicTest) | 
 | - (void)compilerTestAgainst; | 
 | @end | 
 |  | 
 | @implementation MyList (BasicTest) | 
 | - (void)compilerTestAgainst { | 
 | 	int i; | 
 |         for (id elem in self)  | 
 |            ++i; | 
 |         for (MyList *elem in self)  | 
 |            ++i; | 
 |         for (id<P> se in self)  | 
 |            ++i; | 
 |  | 
 | 	MyList<P> *p; | 
 |         for (p in self)  | 
 |            ++i; | 
 |  | 
 | 	for (p in p) | 
 | 	  ++i; | 
 | } | 
 | @end | 
 |  |