diff -up chromium-113.0.5672.63/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.me chromium-113.0.5672.63/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc --- chromium-113.0.5672.63/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.me 2023-05-03 16:30:34.244612573 +0200 +++ chromium-113.0.5672.63/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc 2023-05-03 16:37:36.732278590 +0200 @@ -516,8 +516,11 @@ wtf_size_t NGGridLayoutAlgorithm::BuildG row_auto_repetitions); bool has_nested_subgrid = false; - auto& [grid_items, layout_data, subtree_size] = - sizing_tree->CreateSizingData(); + + auto& workaround_clang_bug = sizing_tree->CreateSizingData(); + auto& grid_items = workaround_clang_bug.grid_items; + auto& layout_data = workaround_clang_bug.layout_data; + auto& subtree_size = workaround_clang_bug.subtree_size; if (!must_ignore_children) { // Construct grid items that are not subgridded. @@ -1540,8 +1543,10 @@ void NGGridLayoutAlgorithm::InitializeTr NGGridSizingTree* sizing_tree) const { DCHECK(sizing_tree && current_grid_index < sizing_tree->Size()); - auto& [grid_items, layout_data, subtree_size] = - sizing_tree->At(current_grid_index); + auto& workaround_clang_bug = sizing_tree->At(current_grid_index); + auto& grid_items = workaround_clang_bug.grid_items; + auto& layout_data = workaround_clang_bug.layout_data; + auto& subtree_size = workaround_clang_bug.subtree_size auto InitAndCacheTrackSizes = [&](GridTrackSizingDirection track_direction) { InitializeTrackCollection(opt_subgrid_data, track_direction, &layout_data);