[Bug libstdc++/99846] [11 regression] std::variant comparison operator error for recursive type

2021-04-13 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99846 Jonathan Wakely changed: What|Removed |Added Resolution|--- |INVALID Status|NEW

[Bug libstdc++/99846] [11 regression] std::variant comparison operator error for recursive type

2021-04-13 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99846 --- Comment #9 from Jonathan Wakely --- This still means that comparisons on Value objects use the comparison operators from the Variant base, and those comparisons depend on the alternative types in the variant. One of those is list, and

[Bug libstdc++/99846] [11 regression] std::variant comparison operator error for recursive type

2021-04-13 Thread nilsgladitz at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99846 --- Comment #8 from Nils Gladitz --- (In reply to Jonathan Wakely from comment #5) > Now this is *obviously* wrong. The left < right expression uses the > operator< defined for the std::list base class, which depends on > comparing the list's

[Bug libstdc++/99846] [11 regression] std::variant comparison operator error for recursive type

2021-04-13 Thread ppalka at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99846 Patrick Palka changed: What|Removed |Added CC||ppalka at gcc dot gnu.org --- Comment

[Bug libstdc++/99846] [11 regression] std::variant comparison operator error for recursive type

2021-04-13 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99846 --- Comment #6 from Jonathan Wakely --- Oops, sorry, I meant to paste this as the further reduced version: #include struct Value; using Array = std::list; struct Value : Array {}; int main() { Value left; Value right;

[Bug libstdc++/99846] [11 regression] std::variant comparison operator error for recursive type

2021-04-13 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99846 --- Comment #5 from Jonathan Wakely --- We can reduce this further: #include #include struct Value; using Array = std::list; using Variant = std::variant; struct Value : Variant {}; int main() { Value left; Value right;

[Bug libstdc++/99846] [11 regression] std::variant comparison operator error for recursive type

2021-04-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99846 Jonathan Wakely changed: What|Removed |Added CC||jason at gcc dot gnu.org --- Comment

[Bug libstdc++/99846] [11 regression] std::variant comparison operator error for recursive type

2021-04-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99846 --- Comment #3 from Jonathan Wakely --- Actually that's not true, that commit *is* on the gcc-10 branch. I'll bisect.

[Bug libstdc++/99846] [11 regression] std::variant comparison operator error for recursive type

2021-04-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99846 --- Comment #2 from Jonathan Wakely --- That's because C++20 <=> comparisons aren't present on the branch. They were added by g:9e58988061f4175896de11af0caf9bdd48c9b046

[Bug libstdc++/99846] [11 regression] std::variant comparison operator error for recursive type

2021-04-08 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99846 Richard Biener changed: What|Removed |Added Ever confirmed|0 |1 Priority|P3

[Bug libstdc++/99846] [11 regression] std::variant comparison operator error for recursive type

2021-03-31 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99846 Richard Biener changed: What|Removed |Added Target Milestone|--- |11.0 Keywords|