Index: Source/wtf/OwnPtr.h |
diff --git a/Source/wtf/OwnPtr.h b/Source/wtf/OwnPtr.h |
index 3c524890e0bba0c7e3fdf2cc760856acacf2c688..be972fff721dccd6eb1e8dce66a0a235e1d34c3e 100644 |
--- a/Source/wtf/OwnPtr.h |
+++ b/Source/wtf/OwnPtr.h |
@@ -50,7 +50,7 @@ namespace WTF { |
OwnPtr(std::nullptr_t) : m_ptr(0) { } |
// See comment in PassOwnPtr.h for why this takes a const reference. |
- template<typename U> OwnPtr(const PassOwnPtr<U>& o); |
+ template<typename U> OwnPtr(const PassOwnPtr<U>&, EnsurePtrConvertibleArgDecl(typename RemovePointer<U>::Type, ValueType)); |
#if !COMPILER_SUPPORTS(CXX_RVALUE_REFERENCES) |
// This copy constructor is used implicitly by gcc when it generates |
@@ -111,7 +111,7 @@ namespace WTF { |
PtrType m_ptr; |
}; |
- template<typename T> template<typename U> inline OwnPtr<T>::OwnPtr(const PassOwnPtr<U>& o) |
+ template<typename T> template<typename U> inline OwnPtr<T>::OwnPtr(const PassOwnPtr<U>& o, EnsurePtrConvertibleArgDefn(typename RemovePointer<U>::Type, ValueType)) |
: m_ptr(o.leakPtr()) |
{ |
} |