Remove std::pair specializations from pair.hpp (moved to Boost.Move) #331
+0
−31
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Remove the std::pair<A,B> partial specializations for is_trivially_{destructible,copy_constructible,move_constructible, copy_assignable,move_assignable} and has_trivial_destructor_after_move from boost/container/detail/pair.hpp.
These specializations are now provided directly in the Boost.Move headers (type_traits.hpp and traits.hpp) alongside the primary template definitions. Placing them in pair.hpp — which is included late in the include chain via flat_map.hpp — caused GCC to diagnose "partial specialization after instantiation" in unity/jumbo builds or any translation unit that implicitly instantiated a trait for std::pair before pair.hpp was included.
The dtl::pair specializations remain in pair.hpp since dtl::pair is defined in this header.
This is a coordinated fix with the corresponding Boost.Move change.
Fixes: #330