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.