[Bug c++/95606] New: [10/11 regression] <any> conflicts with std::is_constructible
kuzniar95 at o2 dot pl
gcc-bugzilla@gcc.gnu.org
Tue Jun 9 14:10:19 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95606
Bug ID: 95606
Summary: [10/11 regression] <any> conflicts with
std::is_constructible
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: kuzniar95 at o2 dot pl
Target Milestone: ---
Created attachment 48713
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48713&action=edit
main.ii + verbose gcc invoke command
Hi! I'm coming from nlohmann/json project on GitHub where we detected a
possible regression in GCC 10 and later.
Please follow this link for details:
https://github.com/nlohmann/json/issues/2129 You will find minimal code example
there with some detailed analysis of "compilation path" but I need your help
whether it actually is a regression or not. For example, I'm not sure if the
compiler should jump from decltype(swap(std::declval<_Tp&>(),
std::declval<_Tp&>())) with some implicit conversions to std::any constructor
(maybe it should be inaccessible) as clang seems to dismiss std::any which I
discovered by poisoning std::any constructor. I'm also attaching some files as
requested by "bug reporting instructions".
Even if you think GCC works fine, maybe it could be improved so it gives better
error messages in the future in such convoluted scenarios. Please let me know
what you think.
P.S. I've taken a while to bisect and build GCC compilers and I discovered this
was the first broken commit:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=608a080c3f6e5a8338ff99658b27e226cbba7a67
More information about the Gcc-bugs
mailing list