File chromium-117-workaround_clang_bug-structured_binding.patch of Package chromium.18138

Index: chromium-118.0.5993.18/media/base/cdm_promise_adapter.cc
===================================================================
--- chromium-118.0.5993.18.orig/media/base/cdm_promise_adapter.cc
+++ chromium-118.0.5993.18/media/base/cdm_promise_adapter.cc
@@ -94,7 +94,9 @@ void CdmPromiseAdapter::RejectPromise(ui
 void CdmPromiseAdapter::Clear(ClearReason reason) {
   // Reject all outstanding promises.
   DCHECK(thread_checker_.CalledOnValidThread());
-  for (auto& [promise_id, promise] : promises_) {
+  for (auto& [p_i, p_e] : promises_) {
+    auto& promise_id = p_i;
+    auto& promise = p_e;
     TRACE_EVENT_NESTABLE_ASYNC_END1(
         "media", "CdmPromise", TRACE_ID_WITH_SCOPE("CdmPromise", promise_id),
         "status", "cleared");
Index: chromium-118.0.5993.18/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc
===================================================================
--- chromium-118.0.5993.18.orig/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc
+++ chromium-118.0.5993.18/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc
@@ -633,8 +633,10 @@ NGGridSizingTree NGGridLayoutAlgorithm::
   NGGridSizingTree sizing_tree;
 
   if (const auto* layout_subtree = ConstraintSpace().GridLayoutSubtree()) {
-    auto& [grid_items, layout_data, subtree_size] =
-        sizing_tree.CreateSizingData();
+    auto& [g_i, l_d, s_s] = sizing_tree.CreateSizingData();
+    auto& grid_items = g_i;
+    auto& layout_data = l_d;
+    auto& subtree_size = s_s;
 
     const auto& node = Node();
     grid_items =
@@ -1837,8 +1839,10 @@ void NGGridLayoutAlgorithm::CompleteTrac
     bool* opt_needs_additional_pass) const {
   DCHECK(sizing_subtree);
 
-  auto& [grid_items, layout_data, subtree_size] =
-      sizing_subtree.SubtreeRootData();
+  auto& [g_i, l_d, s_s] = sizing_subtree.SubtreeRootData();
+  auto& grid_items = g_i;
+  auto& layout_data = l_d;
+  auto& subtree_size = s_s;
 
   const bool is_for_columns = track_direction == kForColumns;
   const bool has_non_definite_track =
@@ -1984,8 +1988,10 @@ template <typename CallbackFunc>
 void NGGridLayoutAlgorithm::ForEachSubgrid(
     const NGGridSizingSubtree& sizing_subtree,
     const CallbackFunc& callback_func) const {
-  auto& [grid_items, layout_data, subtree_size] =
-      sizing_subtree.SubtreeRootData();
+  auto& [g_i, l_d, s_s] = sizing_subtree.SubtreeRootData();
+  auto& grid_items = g_i;
+  auto& layout_data = l_d;
+  auto& subtree_size = s_s;
 
   // If we know this subtree doesn't have nested subgrids we can exit early
   // instead of iterating over every grid item looking for them.
@@ -3452,7 +3458,10 @@ void NGGridLayoutAlgorithm::PlaceGridIte
   DCHECK(out_row_break_between);
 
   const auto& container_space = ConstraintSpace();
-  const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
+  const auto& [g_i, l_d, t_s] = sizing_tree.TreeRootData();
+  const auto& grid_items = g_i;
+  const auto& layout_data = l_d;
+  const auto& tree_size = t_s;
 
   const auto* cached_layout_subtree = container_space.GridLayoutSubtree();
   const auto container_writing_direction =
@@ -3616,7 +3625,10 @@ void NGGridLayoutAlgorithm::PlaceGridIte
 
   // TODO(ikilpatrick): Update |SetHasSeenAllChildren| and early exit if true.
   const auto& constraint_space = ConstraintSpace();
-  const auto& [grid_items, layout_data, tree_size] = sizing_tree.TreeRootData();
+  const auto& [g_i, l_d, t_s] = sizing_tree.TreeRootData();
+  const auto& grid_items = g_i;
+  const auto& layout_data = l_d;
+  const auto& tree_size =t_s;
 
   const auto* cached_layout_subtree = constraint_space.GridLayoutSubtree();
   const auto container_writing_direction =
Index: chromium-118.0.5993.18/content/browser/service_worker/service_worker_context_wrapper.cc
===================================================================
--- chromium-118.0.5993.18.orig/content/browser/service_worker/service_worker_context_wrapper.cc
+++ chromium-118.0.5993.18/content/browser/service_worker/service_worker_context_wrapper.cc
@@ -1409,7 +1409,8 @@ void ServiceWorkerContextWrapper::MaybeP
     return;
   }
 
-  auto [document_url, key, callback] = std::move(*request);
+  auto [d_u, key, callback] = std::move(*request);
+  auto document_url = d_u;
 
   DCHECK(document_url.is_valid());
   TRACE_EVENT1("ServiceWorker",
openSUSE Build Service is sponsored by