// { dg-do assemble } | |
// Origin: Alex Samuel <samuel@codesourcery.com> | |
namespace NS | |
{ | |
template <class T, int V> | |
struct Base | |
{ | |
}; | |
template <class T> | |
struct Z | |
{ | |
const static int value_ = false; | |
}; | |
template <class T> | |
struct A : | |
public Base <T, Z<T>::value_> | |
{ | |
}; | |
template <class T> | |
void f(T) | |
{ | |
} | |
} | |
template <template <class T> class U> | |
struct B | |
{ | |
}; | |
int | |
main () | |
{ | |
B<NS::A> ba; | |
f (ba); // Koenig lookup | |
return 0; | |
} | |