[Bug c++/84283] [8 Regression] std::map::insert(const_iterator, P&&) now ambiguous with std::map::insert(InputIterator, InputIterator)

2018-02-09 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84283

Jason Merrill  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #6 from Jason Merrill  ---
Fixed by the patch for 84296.

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

[Bug c++/84283] [8 Regression] std::map::insert(const_iterator, P&&) now ambiguous with std::map::insert(InputIterator, InputIterator)

2018-02-08 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84283

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |8.0

[Bug c++/84283] [8 Regression] std::map::insert(const_iterator, P&&) now ambiguous with std::map::insert(InputIterator, InputIterator)

2018-02-08 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84283

--- Comment #5 from Jonathan Wakely  ---
Another example from https://bugzilla.redhat.com/show_bug.cgi?id=1542132

namespace std {

  struct true_type { static constexpr bool value = true; };
  struct false_type { static constexpr bool value = false; };

  template struct enable_if { };
  template struct enable_if { using type = T; };

  template struct is_error_code_enum : false_type { };
  template struct is_error_condition_enum : false_type { };

  struct error_condition
  {
error_condition() = default;

template::value>::type>
  error_condition(E)
  { }
  };

  struct error_code
  {
error_code() = default;

template::value>::type>
  error_code(E)
  { }
  };

  bool operator==(const error_code&, const error_code&);

  bool operator==(const error_code&, const error_condition&);
} // std

struct Error { };

namespace std {
template<> struct is_error_code_enum : true_type { };
}

template struct Y { };

template
struct X : Y {
  bool f()
  {
std::error_code ec;
Error err;
return ec == err;
  }
};

[Bug c++/84283] [8 Regression] std::map::insert(const_iterator, P&&) now ambiguous with std::map::insert(InputIterator, InputIterator)

2018-02-08 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84283

Jonathan Wakely  changed:

   What|Removed |Added

 CC||jason at gcc dot gnu.org
Summary|std::map::insert(const_iter |[8 Regression]
   |ator, P&&) now ambiguous|std::map::insert(const_iter
   |with|ator, P&&) now ambiguous
   |std::map::insert(InputItera |with
   |tor, InputIterator) |std::map::insert(InputItera
   ||tor, InputIterator)

--- Comment #4 from Jonathan Wakely  ---
Started to be rejected with r256866