Fix pair::operator=(TupleLike&&).

This assignment operator was previously broken since the SFINAE always resulted
in substitution failure. This caused assignments to turn into
copy construction + assignment.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@279953 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Fiselier
2016-08-29 01:09:47 +00:00
parent 917af0a073
commit 15ac5e4dc2
2 changed files with 136 additions and 1 deletions

View File

@@ -515,7 +515,7 @@ struct _LIBCPP_TYPE_VIS_ONLY pair
}
template <class _Tuple, _EnableB<
_CheckTLC<_Tuple>::template __enable_assign()
_CheckTLC<_Tuple>::template __enable_assign<_Tuple>()
> = false>
_LIBCPP_INLINE_VISIBILITY
pair& operator=(_Tuple&& __p) {