Here is what I want to do:
template void f(DisableDeduction obj) {std::cout << obj;} // Here DisableDeduction aliases
You can do it by putting T in non deducible context (to the left of ::), and use std::common_type from .
::
example:
template void f(typename std::common_type::type obj) {std::cout << obj;}