https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86836

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-invalid-code

--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
struct A {
  int operator*();
  void operator++();
  bool operator!=(A);
};
template <typename> class map {
public:
  A begin();
  A end();
};

template <typename T> void mergemap(map<T> orig, map<T> toadd) {
  for (auto p : toadd)
    auto [orig] = orig;
}

int
main() {
  map<double> x, y;
  mergemap(x, y);
}

Reply via email to