From df1544bcee0c7ce35cd5ea0b3eb8cc81855a4140 Mon Sep 17 00:00:00 2001 From: Abseil Team Date: Wed, 16 Oct 2024 06:39:05 -0700 Subject: [PATCH] Avoid creating std::vector in UnorderedElementsAreArrayMatcher and others. std::vector for trivially relocatable types is not allowed by C++ and is rejected by libc++ starting from https://github.com/llvm/llvm-project/commit/4e112e5c1c8511056030294af3264da35f95d93c PiperOrigin-RevId: 686487841 Change-Id: I3c90c7c0a6e8e23ffa5ebd1702a3f30ebc4a702f --- googlemock/include/gmock/gmock-matchers.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/googlemock/include/gmock/gmock-matchers.h b/googlemock/include/gmock/gmock-matchers.h index 70e7a764..16cf9c3d 100644 --- a/googlemock/include/gmock/gmock-matchers.h +++ b/googlemock/include/gmock/gmock-matchers.h @@ -1523,7 +1523,7 @@ class SomeOfArrayMatcher { } private: - const ::std::vector matchers_; + const std::vector> matchers_; }; template @@ -3805,7 +3805,7 @@ class UnorderedElementsAreArrayMatcher { private: UnorderedMatcherRequire::Flags match_flags_; - ::std::vector matchers_; + std::vector> matchers_; }; // Implements ElementsAreArray(). @@ -3826,7 +3826,7 @@ class ElementsAreArrayMatcher { } private: - const ::std::vector matchers_; + const std::vector> matchers_; }; // Given a 2-tuple matcher tm of type Tuple2Matcher and a value second @@ -4793,9 +4793,10 @@ Pointwise(const TupleMatcher& tuple_matcher, const Container& rhs) { // Supports the Pointwise(m, {a, b, c}) syntax. template -inline internal::PointwiseMatcher> Pointwise( - const TupleMatcher& tuple_matcher, std::initializer_list rhs) { - return Pointwise(tuple_matcher, std::vector(rhs)); +inline internal::PointwiseMatcher>> +Pointwise(const TupleMatcher& tuple_matcher, std::initializer_list rhs) { + return Pointwise(tuple_matcher, std::vector>(rhs)); } // UnorderedPointwise(pair_matcher, rhs) matches an STL-style