diff options
Diffstat (limited to 'library/cpp/actors/util')
| -rw-r--r-- | library/cpp/actors/util/rc_buf.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/library/cpp/actors/util/rc_buf.h b/library/cpp/actors/util/rc_buf.h index a2bce33fba6..5d4517ade2a 100644 --- a/library/cpp/actors/util/rc_buf.h +++ b/library/cpp/actors/util/rc_buf.h @@ -306,9 +306,12 @@ class TRcBuf { struct TBackendHolder { uintptr_t Data[2]; - operator bool() const noexcept { + explicit operator bool() const noexcept { return Data[0] || Data[1]; } + friend bool operator ==(const TBackendHolder& x, const TBackendHolder& y) { + return x.Data[0] == y.Data[0] && x.Data[1] == y.Data[1]; + } }; constexpr static TBackendHolder Empty = {0, 0}; @@ -592,7 +595,7 @@ class TRcBuf { } explicit operator bool() const { - return Owner; + return static_cast<bool>(Owner); } private: |
