#include <type_traits>
#include <utility>
-#include <folly/Launder.h>
#include <folly/Portability.h>
#include <folly/Traits.h>
#include <folly/Utility.h>
+#include <folly/lang/Launder.h>
namespace folly {
} // namespace folly
// This makes folly::Optional<Value> useable as a coroutine return type..
-FOLLY_NAMESPACE_STD_BEGIN
+namespace std {
namespace experimental {
template <typename Value, typename... Args>
struct coroutine_traits<folly::Optional<Value>, Args...> {
using promise_type = folly::detail::OptionalPromise<Value>;
};
} // namespace experimental
-FOLLY_NAMESPACE_STD_END
+} // namespace std
#endif // FOLLY_HAS_COROUTINES