This paper is a collection of items Evolution has worked on up to and in the Cologne meeting, their status, and plans for the future.
Evolution discussed multiple different approaches for Contracts for C++20; after initially choosing to pursue P1607R0 Minimizing Contracts, decided to go with D1823R0 Remove Contracts from C++20. Expecting Contracts to make a comeback for C++23.
Evolution discussed P1745R0 Coroutine changes for C++20 and beyond, and P1485R1 Better keywords for the Coroutines; there was no consensus to adopt either of these.
Evolution approved what can be considered as bugfixes and a minimal amount of library support for Modules; these are
Evolution approved P1630R0 Spaceship needs a tune-up: Addressing some discovered issues with P0515 and P1185. This makes the reversed operator candidates be required to return bool, and deletes defaulted operators for types with reference members or variant members.
Evolution approved P1452R1 On the non-uniform semantics of return-type-requirements; this removes an expression constraint -> Type, and C++ now necessitates
the use of -> std::same
Evolution approved P1714R0 NTTP are incomplete without float, double, and long double!. This allows floating point types as NTTPs, by making their comparison be done in terms of bit representation. While this is somewhat novel and late, it's allegedly possible to write a work-around in C++20 with a fairly small amount of code, and Evolution elected to support floating-point types directly.
The high-order bit of our next steps is ballot resolution in Belfast. Once that is done, Evolution will switch into full C++23 mode.