https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120465
Bug ID: 120465 Summary: Incorrect value_type for std::flat_map Product: gcc Version: 16.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: eligorkadaf at gmail dot com Target Milestone: --- As per https://eel.is/c++draft/flat.map.defn std::flat_map's value_type is std::pair. Also, erase_if predicate is supposed to recieve pair as argument as well: https://eel.is/c++draft/flat.map.erasure. However, it seems that in libstdc++ implementation of std::flat_map it's value_type is std::tuple. Godbolt example: https://godbolt.org/z/qP11o4osq