[Bug c++/95626] [concepts] incorrect ambiguous overload with constraints "A && !B" vs "!B"

2020-06-11 Thread godeffroy.valet at m4x dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95626

--- Comment #2 from Godeffroy Valet  ---
Oh, ok, thank you for the information. Strange rule...

[Bug c++/95626] [concepts] incorrect ambiguous overload with constraints "A && !B" vs "!B"

2020-06-10 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95626

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #1 from Jonathan Wakely  ---
This is not a bug, subsumption doesn't work for !B

To make it work you need to define a concept, as in your second example.

This is explained in the C++20 draft by the note in [temp.constr.op] p5, which
was added by https://wg21.link/p1971r0#US111

*** This bug has been marked as a duplicate of bug 92102 ***