template<void (*FUNC_PTR)(void)>
struct Func {};
template<typename T>
void foo();
int main() {
struct Bar {}; // function-local type
Func<foo<Bar>> x;
}
ICAgIHRlbXBsYXRlPHZvaWQgKCpGVU5DX1BUUikodm9pZCk+CiAgICBzdHJ1Y3QgRnVuYyB7fTsKCiAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgdm9pZCBmb28oKTsKCiAgICBpbnQgbWFpbigpIHsKICAgICAgICBzdHJ1Y3QgQmFyIHt9OyAvLyBmdW5jdGlvbi1sb2NhbCB0eXBlCiAgICAgICAgRnVuYzxmb288QmFyPj4geDsKICAgIH0=