diff --git a/riegeli/base/intrusive_shared_ptr.h b/riegeli/base/intrusive_shared_ptr.h index ab579316..bb90d473 100644 --- a/riegeli/base/intrusive_shared_ptr.h +++ b/riegeli/base/intrusive_shared_ptr.h @@ -263,7 +263,7 @@ class // Support `ExternalRef`. friend ExternalStorage RiegeliToExternalStorage(IntrusiveSharedPtr* self) { - return ExternalStorage(self->Release(), + return ExternalStorage(const_cast*>(self->Release()), [](void* ptr) { Unref(static_cast(ptr)); }); } diff --git a/riegeli/base/shared_ptr.h b/riegeli/base/shared_ptr.h index 2b6694f9..345b2812 100644 --- a/riegeli/base/shared_ptr.h +++ b/riegeli/base/shared_ptr.h @@ -208,9 +208,9 @@ class // Support `ExternalRef`. friend ExternalStorage RiegeliToExternalStorage(SharedPtr* self) { - return ExternalStorage(self->Release(), [](void* ptr) { - SharedPtr::DeleteReleased(static_cast(ptr)); - }); + return ExternalStorage( + const_cast*>(self->Release()), + [](void* ptr) { SharedPtr::DeleteReleased(static_cast(ptr)); }); } // Support `MemoryEstimator`.