Avoid self-move-assign of all elements in vector when erasing an empty range. (#228)

Resolves DevCom-776568.
This commit is contained in:
Billy O'Neal 2019-10-28 19:41:58 -07:00 коммит произвёл GitHub
Родитель 5bf80b41d1
Коммит f4f3acde83
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 4 добавлений и 4 удалений

Просмотреть файл

@ -1371,11 +1371,11 @@ public:
if (_Firstptr != _Lastptr) { // something to do, invalidate iterators
_Orphan_range(_Firstptr, _Mylast);
}
const pointer _Newlast = _Move_unchecked(_Lastptr, _Mylast, _Firstptr);
_Destroy(_Newlast, _Mylast);
_Mylast = _Newlast;
const pointer _Newlast = _Move_unchecked(_Lastptr, _Mylast, _Firstptr);
_Destroy(_Newlast, _Mylast);
_Mylast = _Newlast;
}
return iterator(_Firstptr, _STD addressof(_My_data));
}