$OpenBSD: patch-src_3rdparty_chromium_base_stl_util_h,v 1.1 2021/01/19 06:16:33 rsadowski Exp $

Index: src/3rdparty/chromium/base/stl_util.h
--- src/3rdparty/chromium/base/stl_util.h.orig
+++ src/3rdparty/chromium/base/stl_util.h
@@ -561,14 +561,6 @@ size_t EraseIf(std::vector<T, Allocator>& container, P
   return removed;
 }
 
-template <class T, class Allocator, class Value>
-size_t Erase(std::forward_list<T, Allocator>& container, const Value& value) {
-  // Unlike std::forward_list::remove, this function template accepts
-  // heterogeneous types and does not force a conversion to the container's
-  // value type before invoking the == operator.
-  return EraseIf(container, [&](const T& cur) { return cur == value; });
-}
-
 template <class T, class Allocator, class Predicate>
 size_t EraseIf(std::forward_list<T, Allocator>& container, Predicate pred) {
   // Note: std::forward_list does not have a size() API, thus we need to use the
@@ -585,12 +577,19 @@ size_t EraseIf(std::list<T, Allocator>& container, Pre
   container.remove_if(pred);
   return old_size - container.size();
 }
-
 template <class T, class Allocator, class Value>
 size_t Erase(std::list<T, Allocator>& container, const Value& value) {
   // Unlike std::list::remove, this function template accepts heterogeneous
   // types and does not force a conversion to the container's value type before
   // invoking the == operator.
+  return EraseIf(container, [&](const T& cur) { return cur == value; });
+ }
+
+template <class T, class Allocator, class Value>
+size_t Erase(std::forward_list<T, Allocator>& container, const Value& value) {
+  // Unlike std::forward_list::remove, this function template accepts
+  // heterogeneous types and does not force a conversion to the container's
+  // value type before invoking the == operator.
   return EraseIf(container, [&](const T& cur) { return cur == value; });
 }
 
