1/* "Substitution Failure Is Not An Error"
2
3This rule applies during overload resolution of function templates:
4When substituting the explicitly specified or deduced type for the
5template parameter fails, the specialization is discarded from the
6overload set instead of causing a compile error.
7
8This feature is used in template metaprogramming.
9STL features like std::enable_if use SFINAE
10*/