[Bug c++/108579] [13 Regression] Requires-expression that checks constructor on non-template constructor of template class got rejected
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108579 Patrick Palka changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED|RESOLVED --- Comment #3 from Patrick Palka --- Fixed for GCC 13, thanks for the bug report.
[Bug c++/108579] [13 Regression] Requires-expression that checks constructor on non-template constructor of template class got rejected
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108579 --- Comment #2 from CVS Commits --- The master branch has been updated by Patrick Palka : https://gcc.gnu.org/g:e7930c6750d03b28d922ebbbace20ba9d8622c6a commit r13-5682-ge7930c6750d03b28d922ebbbace20ba9d8622c6a Author: Patrick Palka Date: Fri Feb 3 09:12:31 2023 -0500 c++: excessive satisfaction in check_methods [PR108579] In check_methods we're unnecessarily checking satisfaction for all constructors and assignment operators, even those that don't look like copy/move special members. In the testcase below this manifests as an unstable satisfaction error because the satisfaction result is first determined to be false during check_methods (since A is incomplete at this point) and later true after completion of A. This patch fixes this simply by swapping the order of the constraint_satisfied_p and copy/move_fn_p tests. PR c++/108579 gcc/cp/ChangeLog: * class.cc (check_methods): Swap order of constraints_satisfied_p and copy/move_fn_p tests. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/concepts-pr108579.C: New test.
[Bug c++/108579] [13 Regression] Requires-expression that checks constructor on non-template constructor of template class got rejected
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108579 Patrick Palka changed: What|Removed |Added Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot gnu.org Last reconfirmed||2023-01-30 Ever confirmed|0 |1 CC||ppalka at gcc dot gnu.org Status|UNCONFIRMED |ASSIGNED
[Bug c++/108579] [13 Regression] Requires-expression that checks constructor on non-template constructor of template class got rejected
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108579 Jonathan Wakely changed: What|Removed |Added CC||jason at gcc dot gnu.org Keywords|needs-bisection | --- Comment #1 from Jonathan Wakely --- The error started with r13-2968: c++: fix triviality of class with unsatisfied op= cxx20_pair is trivially copyable because it has a trivial copy constructor and only a deleted copy assignment operator; the non-triviality of the unsatisfied copy assignment overload is not considered.
[Bug c++/108579] [13 Regression] Requires-expression that checks constructor on non-template constructor of template class got rejected
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108579 Andrew Pinski changed: What|Removed |Added Keywords||needs-bisection, ||rejects-valid Target Milestone|--- |13.0 Summary|Requires-expression that|[13 Regression] |checks constructor on |Requires-expression that |non-template constructor of |checks constructor on |template class got rejected |non-template constructor of ||template class got rejected