1 template <class T>
2 struct iterator {
Compareiterator3   void Compare(const iterator &x) { }
Checkiterator4   friend void Check(iterator) {}
5 };
6 
7 template <class T = int> struct Box {
8   iterator<T> I;
9 
testBox10   void test() {
11     Check(I);
12     I.Compare(I);
13   }
14 };
15