[libcxx-commits] [libcxx] [libc++] Clean up headers that relied on `<optional>`'s transitive includes (PR #213158)

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Fri Jul 31 04:06:21 PDT 2026


================
@@ -268,21 +268,7 @@ namespace std {
 #  include <__optional/optional.h>
 #  include <__optional/optional_ref.h>
 #  include <__optional/swap.h>
-
-// TODO: Some headers rely on these transitive includes
-#  include <__cstddef/size_t.h>
-#  include <__type_traits/conditional.h>
-#  include <__type_traits/enable_if.h>
-#  include <__type_traits/invoke.h>
-#  include <__type_traits/is_constructible.h>
-#  include <__type_traits/is_object.h>
-#  include <__type_traits/is_reference.h>
-#  include <__type_traits/remove_const.h>
-#  include <__type_traits/remove_cvref.h>
-#  include <__utility/declval.h>
-#  include <__utility/forward.h>
 #  include <__utility/in_place.h>
----------------
philnik777 wrote:

Why is this not removed?

https://github.com/llvm/llvm-project/pull/213158


More information about the libcxx-commits mailing list