https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114400
--- Comment #7 from GCC Commits ---
The master branch has been updated by Jonathan Wakely :
https://gcc.gnu.org/g:f4605c53ea2eeafc13e14dd1ad00a0caf80057e2
commit r14-9642-gf4605c53ea2eeafc13e14dd1ad00a0caf80057e2
Author: Jonathan Wakely
Date:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114400
--- Comment #6 from Jonathan Wakely ---
Alternatively:
--- a/libstdc++-v3/include/std/string_view
+++ b/libstdc++-v3/include/std/string_view
@@ -602,15 +602,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// deduction and the other argument gets impl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114400
--- Comment #5 from Jonathan Wakely ---
It was simplifying the overload set, consistent with the proposed resolution of
3950.
If 3950 breaks existing implementations, then arguably 3950 is wrong and should
not be approved.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114400
--- Comment #4 from Jiang An ---
(In reply to Jonathan Wakely from comment #1)
> The resolution of LWG 3950 has not been implemented, at all.
Hmm... r14-5349 seems "implementing the resolution" per the commit message.
Perhaps I misread somethin
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114400
--- Comment #3 from Jonathan Wakely ---
Oops, that was meant to be:
#ifdef __cpp_lib_type_identity // C++ >= 20
/** * Identity metafunction.
* @since C++20
* @{
*/
template
struct type_identity { using type = _Tp; };
templat
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114400
--- Comment #2 from Jonathan Wakely ---
One option would be to make __type_identity_t an alias for type_identity_t in
C++20:
--- a/libstdc++-v3/include/std/type_traits
+++ b/libstdc++-v3/include/std/type_traits
@@ -156,13 +156,30 @@ _GLIBCXX_BE
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114400
--- Comment #1 from Jonathan Wakely ---
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 ini