[Bug libstdc++/68869] map::insert(P&&) broken in some cases

2017-01-17 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68869

Jonathan Wakely  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #4 from Jonathan Wakely  ---
Oh, this is the same underlying problem as discussed in PR 78595 which I
rediscovered myself. Marking as a dup because that has more details.

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

[Bug libstdc++/68869] map::insert(P&&) broken in some cases

2015-12-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68869

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2015-12-12
   Assignee|unassigned at gcc dot gnu.org  |redi at gcc dot gnu.org
 Ever confirmed|0   |1

[Bug libstdc++/68869] map::insert(P&&) broken in some cases

2015-12-11 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68869

--- Comment #1 from Jonathan Wakely  ---
That's a recent edit to the draft, not yet part of the standard. I don't think
it was meant to change any behaviour, so I don't consider this a bug in
libstdc++ until I get some clarification whether this change is intended or
not.

[Bug libstdc++/68869] map::insert(P&&) broken in some cases

2015-12-11 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68869

--- Comment #2 from Jonathan Wakely  ---
Hmm, maybe the change was already in C++14. I'll still look into what was
intended, my memory is that it was just an editorial simplification.

[Bug libstdc++/68869] map::insert(P&&) broken in some cases

2015-12-11 Thread rs2740 at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68869

--- Comment #3 from TC  ---
This was http://cplusplus.github.io/LWG/lwg-defects.html#2005. 

I don't think the S example breaks any rule in the pre-LWG2005 version, either.
That version requires that "P shall be convertible to value type", and

static_assert(std::is_convertible::value, "!!");

doesn't fire.