Merge pull request #2594 from kuzkry:remove-workaround_msvc-unneeded-const-dropping
PiperOrigin-RevId: 283979494
This commit is contained in:
		
						commit
						95a8864c05
					
				| @ -4044,11 +4044,7 @@ template <typename Container> | |||||||
| inline PolymorphicMatcher<internal::ContainerEqMatcher< | inline PolymorphicMatcher<internal::ContainerEqMatcher< | ||||||
|     typename std::remove_const<Container>::type>> |     typename std::remove_const<Container>::type>> | ||||||
| ContainerEq(const Container& rhs) { | ContainerEq(const Container& rhs) { | ||||||
|   // This following line is for working around a bug in MSVC 8.0,
 |   return MakePolymorphicMatcher(internal::ContainerEqMatcher<Container>(rhs)); | ||||||
|   // which causes Container to be a const type sometimes.
 |  | ||||||
|   typedef typename std::remove_const<Container>::type RawContainer; |  | ||||||
|   return MakePolymorphicMatcher( |  | ||||||
|       internal::ContainerEqMatcher<RawContainer>(rhs)); |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Returns a matcher that matches a container that, when sorted using
 | // Returns a matcher that matches a container that, when sorted using
 | ||||||
| @ -4081,12 +4077,8 @@ template <typename TupleMatcher, typename Container> | |||||||
| inline internal::PointwiseMatcher<TupleMatcher, | inline internal::PointwiseMatcher<TupleMatcher, | ||||||
|                                   typename std::remove_const<Container>::type> |                                   typename std::remove_const<Container>::type> | ||||||
| Pointwise(const TupleMatcher& tuple_matcher, const Container& rhs) { | Pointwise(const TupleMatcher& tuple_matcher, const Container& rhs) { | ||||||
|   // This following line is for working around a bug in MSVC 8.0,
 |   return internal::PointwiseMatcher<TupleMatcher, Container>(tuple_matcher, | ||||||
|   // which causes Container to be a const type sometimes (e.g. when
 |                                                              rhs); | ||||||
|   // rhs is a const int[])..
 |  | ||||||
|   typedef typename std::remove_const<Container>::type RawContainer; |  | ||||||
|   return internal::PointwiseMatcher<TupleMatcher, RawContainer>( |  | ||||||
|       tuple_matcher, rhs); |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -4117,14 +4109,9 @@ inline internal::UnorderedElementsAreArrayMatcher< | |||||||
|             typename std::remove_const<RhsContainer>::type>::type::value_type>> |             typename std::remove_const<RhsContainer>::type>::type::value_type>> | ||||||
| UnorderedPointwise(const Tuple2Matcher& tuple2_matcher, | UnorderedPointwise(const Tuple2Matcher& tuple2_matcher, | ||||||
|                    const RhsContainer& rhs_container) { |                    const RhsContainer& rhs_container) { | ||||||
|   // This following line is for working around a bug in MSVC 8.0,
 |  | ||||||
|   // which causes RhsContainer to be a const type sometimes (e.g. when
 |  | ||||||
|   // rhs_container is a const int[]).
 |  | ||||||
|   typedef typename std::remove_const<RhsContainer>::type RawRhsContainer; |  | ||||||
| 
 |  | ||||||
|   // RhsView allows the same code to handle RhsContainer being a
 |   // RhsView allows the same code to handle RhsContainer being a
 | ||||||
|   // STL-style container and it being a native C-style array.
 |   // STL-style container and it being a native C-style array.
 | ||||||
|   typedef typename internal::StlContainerView<RawRhsContainer> RhsView; |   typedef typename internal::StlContainerView<RhsContainer> RhsView; | ||||||
|   typedef typename RhsView::type RhsStlContainer; |   typedef typename RhsView::type RhsStlContainer; | ||||||
|   typedef typename RhsStlContainer::value_type Second; |   typedef typename RhsStlContainer::value_type Second; | ||||||
|   const RhsStlContainer& rhs_stl_container = |   const RhsStlContainer& rhs_stl_container = | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user