template< typename >
struct s {
template< typename >
void f() {}
};
template< typename t >
void tf( t const & ) {}
template< typename t >
void g() {
tf( & s< t >::template f< void > );
tf( & s< t >::f< void > );
}
int main() {
g< void >();
}
dGVtcGxhdGU8IHR5cGVuYW1lID4Kc3RydWN0IHMgewogICAgdGVtcGxhdGU8IHR5cGVuYW1lID4KICAgIHZvaWQgZigpIHt9Cn07Cgp0ZW1wbGF0ZTwgdHlwZW5hbWUgdCA+CnZvaWQgdGYoIHQgY29uc3QgJiApIHt9Cgp0ZW1wbGF0ZTwgdHlwZW5hbWUgdCA+CnZvaWQgZygpIHsKICAgIHRmKCAmIHM8IHQgPjo6dGVtcGxhdGUgZjwgdm9pZCA+ICk7CiAgICB0ZiggJiBzPCB0ID46OmY8IHZvaWQgPiApOwp9CgppbnQgbWFpbigpIHsKICAgIGc8IHZvaWQgPigpOwp9