std::enable_if is dead; long live concepts!
Man beachte, dass die Requires clause NACH dem Funktionskopf kommen kann.
#include <type_traits>
template<typename T>
void func(T) requires std::is_integral_v<T> {
}
auto func2() {
// error: cannot call function 'void func(T) requires is_integral_v<T> [with T = double]'
// constraints not satisfied 'is_integral_v<T>' evaluated to false
func(2.0); // Nope
}