SFINAE
Türler yerine konunca geçersiz hâle gelen bir şablonun, derlemeyi durdurmak yerine sessizce aday kümesinden çıkarılmasını sağlayan C++ kuralı.
Kural aslında aşırı yükleme çözümlemesi makul davransın diye vardı, ama kısa sürede bir sorgulama aracı olarak işe yaradığı keşfedildi: yalnızca türün belirli bir özelliği varsa örneklenebilen bir şablon yaz ve derleyicinin geriye kalan tek aşırı yüklemeyi seçmesine izin ver. Bundan std::enable_if, tüm tür özellikleri kütüphanesi ve bir türün begin() yöntemi olup olmadığına derleme zamanında karar veren bir nesil kod doğdu. İşe yarıyordu, ama deyim dolambaçlıydı ve tek bir hata, hiçbir adayın neden uymadığını anlatan ekranlarca hata iletisi üretiyordu. C++20, tekniğin tamamının yerine aynı şeyi doğrudan söyleyen concepts ve requires’ı koydu.