Skip to content

Conversation

@frederick-vs-ja
Copy link
Contributor

@frederick-vs-ja frederick-vs-ja commented Nov 19, 2025

Towards #2910 and #2912.

Implements Part

  • 5 swap Should be Conditionally noexcept
  • 6 Missing insert_range(sorted_unique, rg), and
  • 10 Feature Test Macros

from WG21-P3567R2. Other parts are probably already implemented.

Drive-by changes:

  • Move SCARY test into another file; maybe we expand the test when adding [[msvc::no_unique_address]] to flat_meow in the feature.
  • Fix the condition for using append_range - we may only rely it when it belongs to some standard containers.

Blocked libcxx tests:

  • std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_free.pass.cpp (testing old, overly strong exception specification)
  • std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_member.pass.cpp (same as above)
  • std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/swap_free.pass.cpp (same as above)
  • std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/swap_member.pass.cpp (same as above)
  • std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_free.pass.cpp (same as above)
  • std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_member.pass.cpp (same as above)
  • std/containers/container.adaptors/flat.set/flat.set.modifiers/swap_free.pass.cpp (same as above)
  • std/containers/container.adaptors/flat.set/flat.set.modifiers/swap_member.pass.cpp (same as above)
  • std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp (testing old FTM value)
  • std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp (same as above)

Unblocked libcxx test:

  • std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_range.pass.cpp (due to the drive-by fix)
  • std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_range.pass.cpp (same as above; but only for Clang, because MSVC hasn't implemented WG21-P2448R2)

@StephanTLavavej StephanTLavavej self-assigned this Nov 19, 2025
@StephanTLavavej StephanTLavavej added cxx23 C++23 feature flat_meow C++23 container adaptors labels Nov 19, 2025
@StephanTLavavej StephanTLavavej removed their assignment Dec 1, 2025
@StephanTLavavej StephanTLavavej moved this from Initial Review to Merging in STL Code Reviews Dec 1, 2025
@StephanTLavavej StephanTLavavej merged commit f09869f into microsoft:feature/flat_map Dec 1, 2025
45 checks passed
@github-project-automation github-project-automation bot moved this from Merging to Done in STL Code Reviews Dec 1, 2025
@StephanTLavavej
Copy link
Member

Thanks for taking care of this paper! 😻

@frederick-vs-ja frederick-vs-ja deleted the p3567r2 branch December 1, 2025 23:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cxx23 C++23 feature flat_meow C++23 container adaptors

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants