https://www.moria.us/articles/iostream-is-hopelessly-broken/
Concepts took, what, the best part of 20 years and the end result is just OK. Unless there's something I'm missing the system as standardized in C++20 just seems overcooked - not very elegant while also introducing a lot of new legalese in the standard. The system D uses seems to be much simpler (and more powerful in the sense that it effectively moves template constraints into the library - doesn't require updating as traits change) i.e.
template<typename T>
if(constexprConditionOnT<T>)
void toy(T x) {}I can send you the turd of a PhD thesis that was left after my doctorate was bombed by the removal of concepts from C++0x.
https://github.com/billforsternz/retro-sargon/blob/master/sr...