1
0
mirror of https://github.com/google/leveldb.git synced 2025-04-25 14:00:27 +08:00

Ignore clang's self-assignment check

As-documented in the code, this is already safe so ignore the false-positive.

Original author: Cory Fields <cory-nospam-@coryfields.com>
This commit is contained in:
Lőrinc 2025-04-04 13:46:35 +02:00
parent ac691084fd
commit ca385cadd9

View File

@ -103,6 +103,8 @@ class LEVELDB_EXPORT Status {
inline Status::Status(const Status& rhs) {
state_ = (rhs.state_ == nullptr) ? nullptr : CopyState(rhs.state_);
}
// NOLINTBEGIN(bugprone-unhandled-self-assignment)
inline Status& Status::operator=(const Status& rhs) {
// The following condition catches both aliasing (when this == &rhs),
// and the common case where both rhs and *this are ok.
@ -112,6 +114,8 @@ inline Status& Status::operator=(const Status& rhs) {
}
return *this;
}
// NOLINTEND(bugprone-unhandled-self-assignment)
inline Status& Status::operator=(Status&& rhs) noexcept {
std::swap(state_, rhs.state_);
return *this;