Test Plan: ran tests in dbg
Reviewed By: tudorb@fb.com
FB internal diff:
D696964
~basic_fbstring() {
}
- basic_fbstring& operator=(const basic_fbstring & lhs) {
- if (&lhs == this) {
+ basic_fbstring& operator=(const basic_fbstring& lhs) {
+ if (FBSTRING_UNLIKELY(&lhs == this)) {
return *this;
}
auto const oldSize = size();
// Move assignment
basic_fbstring& operator=(basic_fbstring&& goner) {
+ // Self move assignment is illegal, see 17.6.4.9 for the explanation
+ assert(&goner != this);
// No need of this anymore
this->~basic_fbstring();
// Move the goner into this