1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 21:18:14 +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:
Daniel Bertalan 2023-11-05 17:42:31 +01:00 committed by Andrew Kaster
parent 6c29fc07fc
commit 6f972c190b
3 changed files with 3 additions and 3 deletions

View file

@ -273,7 +273,7 @@ ThrowCompletionOr<NonnullGCPtr<DateTimeFormat>> create_date_time_format(VM& vm,
PropertyKey const* explicit_format_component = nullptr;
// 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;
// a. Let prop be the name given in the Property column of the row.