[Bug libstdc++/114400] The resolution of LWG3950 seems incorrectly implemented

2024-03-23 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
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:

[Bug libstdc++/114400] The resolution of LWG3950 seems incorrectly implemented

2024-03-20 Thread redi at gcc dot gnu.org via Gcc-bugs
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

[Bug libstdc++/114400] The resolution of LWG3950 seems incorrectly implemented

2024-03-20 Thread redi at gcc dot gnu.org via Gcc-bugs
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.

[Bug libstdc++/114400] The resolution of LWG3950 seems incorrectly implemented

2024-03-20 Thread de34 at live dot cn via Gcc-bugs
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

[Bug libstdc++/114400] The resolution of LWG3950 seems incorrectly implemented

2024-03-20 Thread redi at gcc dot gnu.org via Gcc-bugs
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

[Bug libstdc++/114400] The resolution of LWG3950 seems incorrectly implemented

2024-03-20 Thread redi at gcc dot gnu.org via Gcc-bugs
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

[Bug libstdc++/114400] The resolution of LWG3950 seems incorrectly implemented

2024-03-20 Thread redi at gcc dot gnu.org via Gcc-bugs
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