template void foo(U) {} template int foo(T) {} template void bar(T t) { auto x = foo(t); }