>>419
それを言うならこっちでしょ
template <typename T>
auto func(T&&) -> enable_if_t<is_integral_v<T>, void> {}

これとどっちが合理的だと思う?
template <typename T>
enable_if_t<is_integral_v<T>, void> func(T&&) {}

typedefとusingの話ではないけど
合理性という論点では同じことだよ