Index: base/memory/ref_counted.cc |
diff --git a/base/memory/ref_counted.cc b/base/memory/ref_counted.cc |
index b6c888dcc0cbfb3ef829ffeb538b22cadc7ff72d..039f255b153ebb7e5008bfc68388c7220ddf3c0e 100644 |
--- a/base/memory/ref_counted.cc |
+++ b/base/memory/ref_counted.cc |
@@ -21,8 +21,6 @@ bool RefCountedThreadSafeBase::HasOneRef() const { |
return AtomicRefCountIsOne(&ref_count_); |
} |
-RefCountedThreadSafeBase::RefCountedThreadSafeBase() = default; |
- |
RefCountedThreadSafeBase::~RefCountedThreadSafeBase() { |
#if DCHECK_IS_ON() |
DCHECK(in_dtor_) << "RefCountedThreadSafe object deleted without " |
@@ -33,6 +31,10 @@ RefCountedThreadSafeBase::~RefCountedThreadSafeBase() { |
void RefCountedThreadSafeBase::AddRef() const { |
#if DCHECK_IS_ON() |
DCHECK(!in_dtor_); |
+ DCHECK(!needs_adopt_ref_) |
+ << "This RefCounted object is created with non-zero reference count." |
+ << " The first reference to such a object has to be made by AdoptRef or" |
+ << " MakeShared."; |
#endif |
AtomicRefCountInc(&ref_count_); |
} |