Ban kRefCountPreference override
base::RefCount<T> referes T::kRefCountPreference, while base::AdoptRef()
and base::MakeRefCounted() refer kRefCountPreference on the most derived
subclass. They may mismatch if a subclass of T overrides kRefCountPreference,
and that confuses the reference counting.
This CL adds a static_assert to disallow kRefCountPreference override on
subclasses of ref counted classes.
Change-Id: I3e80eb88dbf4e8772f362281034c240fbe48bcd1
Reviewed-on: https://chromium-review.googlesource.com/778620
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518219}
CrOS-Libchrome-Original-Commit: 1fe4112ce1462a9c011f19a383149c9674bc8999
1 file changed