Encourage single line nested namespace declarations.
Reference and allow constinit in the relevant sections
Update operator overloading guidance for comparison operators: prefer only to overload == and optionally <=> when there is an obvious ordering, and allow the compiler to derive the other comparison operators.
Discourage prefixing uint32_t, et cetera with std::.
Document when and how to use concepts:
Use requires expressions rather than the alternatives, e.g. a template parameter.
Do not reimplement existing concepts/traits.
Do not expose concepts across API boundaries.
Do not use concepts unnecessarily.
Do not implement concepts that are not compile-time checkable.
I tried to sum up the concepts changes in the commit description without going into too much detail, since I suspect that's what people will be most interested in.
constinit
in the relevant sections==
and optionally<=>
when there is an obvious ordering, and allow the compiler to derive the other comparison operators.uint32_t
, et cetera withstd::
.requires
expressions rather than the alternatives, e.g. a template parameter.I tried to sum up the concepts changes in the commit description without going into too much detail, since I suspect that's what people will be most interested in.