[libc++] Granularize <utility> includes
Reviewed By: ldionne, #libc
Spies: EricWF, libcxx-commits, arphaman
Differential Revision: https://reviews.llvm.org/D120466
NOKEYCHECK=True
GitOrigin-RevId: 52915d78f44bfc5add6cddc91d392fa343672897
diff --git a/include/string b/include/string
index 39647ff..7eadde7 100644
--- a/include/string
+++ b/include/string
@@ -527,6 +527,9 @@
#include <__debug>
#include <__ios/fpos.h>
#include <__iterator/wrap_iter.h>
+#include <__utility/auto_cast.h>
+#include <__utility/move.h>
+#include <__utility/swap.h>
#include <compare>
#include <cstdio> // EOF
#include <cstdlib>
@@ -538,9 +541,10 @@
#include <stdexcept>
#include <string_view>
#include <type_traits>
-#include <utility>
#include <version>
+#include <utility> // TODO: Remove this
+
// TODO: remove these headers
#include <__functional/binary_function.h>
#include <__functional/invoke.h>