Reland "Delete implicit conversion from raw pointer to scoped_ref_ptr"
This is a reland of 7b370b935ec0dac991da08f9da227df9ce245fd5
Original change's description:
> Delete implicit conversion from raw pointer to scoped_ref_ptr
>
> Followup to https://webrtc-review.googlesource.com/c/src/+/242363
>
> Bug: webrtc:13464
> Change-Id: I44358e8cfedeea92aac4ef47c540aff9a4865cdc
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/247362
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
> Commit-Queue: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/main@{#35897}
Bug: webrtc:13464
Change-Id: Ia0da558adb65852a900030ca7c2f2310a275188e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251140
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Tomas Gunnarsson <tommi@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35943}
diff --git a/api/scoped_refptr.h b/api/scoped_refptr.h
index 164fefe..8f45f89 100644
--- a/api/scoped_refptr.h
+++ b/api/scoped_refptr.h
@@ -74,10 +74,9 @@
typedef T element_type;
scoped_refptr() : ptr_(nullptr) {}
+ scoped_refptr(std::nullptr_t) : ptr_(nullptr) {} // NOLINT(runtime/explicit)
- // TODO(bugs.webrtc.org/13464): Implicit construction is deprecated. Mark
- // explicit, and add a new implicit constructor accepting a nullptr_t.
- scoped_refptr(T* p) : ptr_(p) { // NOLINT(runtime/explicit)
+ explicit scoped_refptr(T* p) : ptr_(p) {
if (ptr_)
ptr_->AddRef();
}