mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 18:07:34 +00:00
Everywhere: Work around Clang trunk bug with templated lambda + Variant
Since 2023-09-08, Clang trunk has had a bug which causes a segfault when evaluating certain `requires` expressions inside templated lambdas. There isn't an imminent fix on the horizon, so let's work around the issue by specifying the type of the offending lambda arguments explicitly. See https://github.com/llvm/llvm-project/issues/67260
This commit is contained in:
parent
6c29fc07fc
commit
6f972c190b
3 changed files with 3 additions and 3 deletions
|
@ -273,7 +273,7 @@ ThrowCompletionOr<NonnullGCPtr<DateTimeFormat>> create_date_time_format(VM& vm,
|
||||||
PropertyKey const* explicit_format_component = nullptr;
|
PropertyKey const* explicit_format_component = nullptr;
|
||||||
|
|
||||||
// 39. For each row of Table 6, except the header row, in table order, do
|
// 39. For each row of Table 6, except the header row, in table order, do
|
||||||
TRY(for_each_calendar_field(vm, format_options, [&](auto& option, auto const& property, auto const& values) -> ThrowCompletionOr<void> {
|
TRY(for_each_calendar_field(vm, format_options, [&](auto& option, PropertyKey const& property, auto const& values) -> ThrowCompletionOr<void> {
|
||||||
using ValueType = typename RemoveReference<decltype(option)>::ValueType;
|
using ValueType = typename RemoveReference<decltype(option)>::ValueType;
|
||||||
|
|
||||||
// a. Let prop be the name given in the Property column of the row.
|
// a. Let prop be the name given in the Property column of the row.
|
||||||
|
|
|
@ -77,7 +77,7 @@ static ErrorOr<JsonObject, Error> validate_capabilities(JsonValue const& capabil
|
||||||
JsonObject result;
|
JsonObject result;
|
||||||
|
|
||||||
// 3. For each enumerable own property in capability, run the following substeps:
|
// 3. For each enumerable own property in capability, run the following substeps:
|
||||||
TRY(capability.as_object().try_for_each_member([&](auto const& name, auto const& value) -> ErrorOr<void, Error> {
|
TRY(capability.as_object().try_for_each_member([&](auto const& name, JsonValue const& value) -> ErrorOr<void, Error> {
|
||||||
// a. Let name be the name of the property.
|
// a. Let name be the name of the property.
|
||||||
// b. Let value be the result of getting a property named name from capability.
|
// b. Let value be the result of getting a property named name from capability.
|
||||||
|
|
||||||
|
|
|
@ -137,7 +137,7 @@ ErrorOr<void> recreate_socket_if_needed(T& connection, URL const& url)
|
||||||
|
|
||||||
if (!connection.socket->is_open() || connection.socket->is_eof()) {
|
if (!connection.socket->is_open() || connection.socket->is_eof()) {
|
||||||
// Create another socket for the connection.
|
// Create another socket for the connection.
|
||||||
auto set_socket = [&](auto socket) -> ErrorOr<void> {
|
auto set_socket = [&](NonnullOwnPtr<SocketStorageType>&& socket) -> ErrorOr<void> {
|
||||||
connection.socket = TRY(Core::BufferedSocket<SocketStorageType>::create(move(socket)));
|
connection.socket = TRY(Core::BufferedSocket<SocketStorageType>::create(move(socket)));
|
||||||
return {};
|
return {};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue