// RUN: %clang_cc1 -fsyntax-only -verify %s
// expected-no-diagnostics
namespace N1 {
struct X { };
int& f(void*);
}
namespace N2 {
template<typename T> struct Y { };
}
namespace N3 {
void test() {
int &ir = f((N2::Y<N1::X>*)0);
}
}
int g(void *);
long g(N1::X);
namespace N1 {
void h(int (*)(void *));
}
void test() {
h((&g));
}