https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114400
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- The resolution of LWG 3950 has not been implemented, at all. The use of __type_identity_t there dates from 2019 (r10-1886-g0d67cd380d37f2) and replaced earlier uses of common_type_t which date from the initial commit of std::experimental::string_view (r0-126555-g77cba5af77ccf8). The current code is 100% conforming, since the method of disambiguation is unspecified currently. LWG 3950 should be approved in a few days, and then we'll have to decide what to do (we can't use type_identity unconditionally because it doesn't exist in C++17, which is why I used __type_identity_t in the first place).