1 // ADL can be recursive (via instantiation), make sure that works.
8 int frob (B); // Inner ADL resolves here
17 void frob (void*, void *, void *); // Outer ADL resolves here
20 template <typename T, typename U>
23 int ary[sizeof frob(T())]; // ADL occurs here during instantiation
26 void Foo (C<X::B, Y::A> *p, X::B *q)
28 frob(q, p, q); // ADL causes instantation of C<...>
29 // We will have already searched X by the time the instantation happens