[libc++] Add missing includes to optional
authorKrasimir Georgiev <krasimir@google.com>
Thu, 9 Mar 2023 13:02:45 +0000 (14:02 +0100)
committerKrasimir Georgiev <krasimir@google.com>
Thu, 9 Mar 2023 13:07:33 +0000 (14:07 +0100)
After commit 0a4aa8a122aa097499c498b639a75b5e9a73e9f0 we see failures
like:
optional:722:7: error: missing '#include <__type_traits/conjunction.h>';
'_And' must be declared before it is used
and:
optional:683:46: error: missing '#include
<__type_traits/disjunction.h>'; '_Or' must be declared before it is used
      using __check_constructible_from_opt = _Or<

Adding these here fixes that.
I'm not familiar with the libcxx codebase, will ask the author to take a
look too.

libcxx/include/optional

index abfd9eb..eeb7ba7 100644 (file)
@@ -172,6 +172,8 @@ template<class T>
 #include <__type_traits/is_trivially_destructible.h>
 #include <__type_traits/is_trivially_move_assignable.h>
 #include <__type_traits/is_trivially_move_constructible.h>
+#include <__type_traits/conjunction.h>
+#include <__type_traits/disjunction.h>
 #include <__type_traits/negation.h>
 #include <__utility/declval.h>
 #include <__utility/forward.h>