Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 23402d69a57f55e6a557868d128bc4a6b5c75068 https://github.com/WebKit/WebKit/commit/23402d69a57f55e6a557868d128bc4a6b5c75068 Author: Alex Christensen <achristen...@apple.com> Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths: M Source/WTF/wtf/Expected.h M Source/WebKit/Platform/IPC/Connection.h Log Message: ----------- Use std::variant and std::optional as storage for WTF::Expected https://bugs.webkit.org/show_bug.cgi?id=267956 rdar://121471408 Reviewed by Fujii Hironori. Our Expected interface is 7 paper revisions behind https://wg21.link/P0323R11 It has all kinds of issues with trivially copyable and trivially destructable types that have been solved since https://wg21.link/P0323R4 and it's in C++23 which we can't use for another few months. Until then, just use std::optional and std::variant as the storage, where these problems have also already been solved. * Source/WTF/wtf/Expected.h: (std::experimental::fundamentals_v3::__expected_detail::base::base): (std::experimental::fundamentals_v3::__expected_detail::voidbase::voidbase): (std::experimental::fundamentals_v3::expected::expected): (std::experimental::fundamentals_v3::expected::swap): (std::experimental::fundamentals_v3::expected::operator-> const): (std::experimental::fundamentals_v3::expected::operator->): (std::experimental::fundamentals_v3::expected::operator* const): (std::experimental::fundamentals_v3::expected::operator*): (std::experimental::fundamentals_v3::expected::operator bool const): (std::experimental::fundamentals_v3::expected::has_value const): (std::experimental::fundamentals_v3::expected::value const): (std::experimental::fundamentals_v3::expected::value): (std::experimental::fundamentals_v3::expected::error const): (std::experimental::fundamentals_v3::expected::error): (std::experimental::fundamentals_v3::expected::value_or const): (std::experimental::fundamentals_v3::expected::value_or): (std::experimental::fundamentals_v3::__expected_detail::destroy): Deleted. (std::experimental::fundamentals_v3::__expected_detail::std::is_trivially_destructible<T>::value): Deleted. (std::experimental::fundamentals_v3::__expected_detail::constexpr_base::constexpr_base): Deleted. (std::experimental::fundamentals_v3::__expected_detail::base::~base): Deleted. * Source/WebKit/Platform/IPC/Connection.h: Canonical link: https://commits.webkit.org/273395@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes