P4174R0 — Named, composable type sets for concept constraints
Emanuel Spiridon
LEWGI
This paper explores the possibility of adding a library addition to <type_traits> to assist the programmer when writing concept constraints. Concept constraints can be written by using the std::is_same_v tool, however the compile time logic is hard to understand, and at times, are error-prone at scale. An issue that modern concept constraints have is that, despite how simple it is once you implement fold expressions, they have no deduplication logic, concepts aren’t first-class types, and errors will dump every type.