// { dg-do compile } // Contributed by David Abrahams <dave at boost-consulting dot com> // PR c++/14143: Koenig lookup should only look into template arguments only // if the argument is a template-id. namespace fu { template <class T> struct bar { struct baz {}; }; } namespace axe { struct handle {}; template <class T> char* f(T&); } namespace test { template <class T> int f(T const&); template <class T> int g(T x) { return f(x); } int x = g(fu::bar<axe::handle>::baz()); }