Skip to content

Commit 8f498cb

Browse files
committed
Fixed observer_ptr not constructible from derived type
1 parent 679588e commit 8f498cb

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

include/oup/observable_unique_ptr.hpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,8 +303,12 @@ class observer_ptr : private std::weak_ptr<T> {
303303
/// Default constructor (null pointer).
304304
observer_ptr() = default;
305305

306+
/// Default constructor (null pointer).
307+
observer_ptr(std::nullptr_t) {}
308+
306309
/// Create a weak pointer from an owning pointer.
307-
observer_ptr(const observable_unique_ptr<T>& owner) noexcept : std::weak_ptr<T>(owner) {}
310+
template<typename U>
311+
observer_ptr(const observable_unique_ptr<U>& owner) noexcept : std::weak_ptr<T>(owner) {}
308312

309313
/// Copy an existing observer_ptr instance
310314
/** \param value The existing weak pointer to copy

0 commit comments

Comments
 (0)