Would it be worthy to add a thing like that to C++?

template<class...>
inline constexpr bool static_error() { return false; }

It would allow to have a explicitly named tool to force compilations errors within partial specializations or function overloads that should never be instantiated by the user. Example:

template<class T>
struct something;

template<class T>
struct something<some_invalid_type_dependant_on_T>
{
    static_assert(static_error<T>(), "You shall not used that type on this."
                                                       " Use bla bla instead.");
};

That way you force that specialization to only generate a compiler error when it is instantiated and has passed any sfinae filter since `static_error` depends on a template parameter. Although the best approach would be in my opinion to use "keyword" `static_error` instead of `static_assert` for situations where you always when the specialization to fail.

I won't be surprised if there's some proposal over there similar to this already.

Best regards,
Aarón.