1// { dg-do assemble } 2// Origin: Alex Samuel <samuel@codesourcery.com> 3 4namespace NS 5{ 6 7template <class T, int V> 8struct Base 9{ 10}; 11 12template <class T> 13struct Z 14{ 15 const static int value_ = false; 16}; 17 18template <class T> 19struct A : 20 public Base <T, Z<T>::value_> 21{ 22}; 23 24template <class T> 25void f(T) 26{ 27} 28 29} 30 31 32template <template <class T> class U> 33struct B 34{ 35}; 36 37 38int 39main () 40{ 41 B<NS::A> ba; 42 f (ba); // Koenig lookup 43 return 0; 44} 45 46