SFINAE

“Substitution Failure Is Not An Error”

# Defect reports

DRApplied toBehavior as publishedCorrect behavior
CWG 295C++98creating cv-qualified function typecould result in substitution failuremade not failure,discarding cv-qualification
CWG 1227C++98the order of substitution was unspecifiedsame as the lexical order
CWG 2054C++98substitution in partial specializations was not correctly specifiedspecified
CWG 2322C++11declarations in different lexical orders would cause templateinstantiations to occur in a different order or not at allsuch case is ill-formed,no diagnostic required