Landing: c345d6afd9a9

Project / Subsystem

gcc / libstdc++

Date

2026-05-28

Author

Patrick Palka

Commit

c345d6afd9a9b331cb679b82e89213deb8f8a69a

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
libstdc++
patch_id
commit_hash
c345d6afd9a9b331cb679b82e89213deb8f8a69a
source_type
github
headline
libstdc++: Fix availability of flat_meow::operator=(initializer_list)
tldr
Fixes an issue where the assignment operator for `flat_map`, `flat_set` and their multi variants using initializer lists was not properly inherited.
author
Patrick Palka
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • libstdc++
  • containers
  • flat_map
  • flat_set
  • initializer_list
discussion_id_link
bugzilla_pr
date
2026-05-28T00:00:00.000Z

The assignment operator for flat_map, flat_set, flat_multimap, and flat_multiset using initializer lists (e.g., x = { ... }) was not being correctly inherited from the private base class. This caused assignments to be less efficient, as they were treated as construction followed by move assignment. The commit brings in the assignment operator from _Flat_map_base and _Flat_set_base, and simplifies related tests.