File chromium-115-workaround_clang_bug-structured_binding.patch of Package chromium.18040

diff -up chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc
--- chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc.workaround_clang_bug-structured_binding	2023-06-07 21:48:37.000000000 +0200
+++ chromium-115.0.5790.24/media/base/cdm_promise_adapter.cc	2023-06-17 16:53:20.216628557 +0200
@@ -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");
diff -up chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.workaround_clang_bug-structured_binding chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc
--- chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc.workaround_clang_bug-structured_binding	2023-06-07 21:48:41.000000000 +0200
+++ chromium-115.0.5790.24/third_party/blink/renderer/core/layout/ng/grid/ng_grid_layout_algorithm.cc	2023-06-17 18:47:06.001403966 +0200
@@ -238,7 +238,10 @@ const NGLayoutResult* NGGridLayoutAlgori
                               : BuildGridSizingTree(&oof_children);
 
   LayoutUnit intrinsic_block_size;
-  auto& [grid_items, layout_data, tree_size] = grid_sizing_tree.TreeRootData();
+  auto& [g_i, l_d, t_s] = grid_sizing_tree.TreeRootData();
+  auto& grid_items = g_i;
+  auto& layout_data = l_d;
+  auto& tree_size = t_s;
 
   if (IsBreakInside(BreakToken())) {
     // TODO(layout-dev): When we support variable inline-size fragments we'll
@@ -655,8 +658,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 =
@@ -1798,8 +1803,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 =
@@ -1924,8 +1931,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.
diff -up chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc
--- chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc.me	2023-06-19 08:04:02.287072722 +0200
+++ chromium-115.0.5790.32/content/browser/service_worker/service_worker_context_wrapper.cc	2023-06-19 08:18:24.576814950 +0200
@@ -1393,7 +1393,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