https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109752
Bug ID: 109752 Summary: [ICE] in check_complete_insertion, at hash-table.h:578 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ldalessandro at gmail dot com Target Milestone: --- The following example is reduced from https://github.com/boostorg/stl_interfaces/blob/boost-1.82.0/example/node_iterator.cpp. It causes the ICE on trunk (gcc-14). #include <boost/stl_interfaces/iterator_interface.hpp> template<typename T> struct iterator : boost::stl_interfaces::iterator_interface<iterator<T>, std::forward_iterator_tag, T> { using base_type = boost::stl_interfaces::iterator_interface<iterator<T>, std::forward_iterator_tag, T>; using base_type::operator++; T& operator*() const; iterator& operator++(); bool operator==(iterator) const; }; static_assert(std::incrementable<iterator<int>>); Live: https://godbolt.org/z/n9hMW4a4b PR: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108451 fails the same assert but I don't know if it's the same cause. PR: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 same example may trigger gcc-13 bug (I'm not sure)