https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117541
Bug ID: 117541 Summary: vector::insert_range should not use ranges::copy Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: hewillk at gmail dot com Target Milestone: --- Unlike vector::assign_range which requires assignable_from<T&, ranges​::​range_reference_t<R>> is true, this means that ranges::copy is not necessarily well-formed for vector::insert_range: #include <vector> struct Int { void operator=(int) = delete; Int(int); }; int main() { std::vector<Int> v; v.insert_range(v.begin(), std::vector{42}); } https://godbolt.org/z/jo3vjjo5b