Can SFINAE detect private access violations?
Yes. EDIT: C++11 Standard quote from §14.8.2 [temp.deduct] 8/ If a substitution results in an invalid type or expression, type deduction fails. An invalid type or expression is one that would be ill-formed if written using the substituted arguments. [ Note: Access checking is done as part of the substitution process. —end note ] This … Read more