The substitution of template arguments into a requires-expression
may result in the formation of invalid types or expressions in its
requirements or the violation of the semantic constraints of those requirements.

In such cases, the requires-expression evaluates to false;
it does not cause the program to be ill-formed.

The substitution and semantic constraint checking
proceeds in lexical order and stops when a condition that
determines the result of the requires-expression is encountered.