| template <class T> | |
| struct iterator { | |
| void Compare(const iterator &x) { return; } | |
| friend void Check(iterator) { return; } | |
| }; | |
| template <class T = int> struct Box { | |
| iterator<T> I; | |
| void test() { | |
| Check(I); | |
| I.Compare(I); | |
| } | |
| }; | |
| // Force instantiation of Box<int> | |
| Box<> B; |