blob: 4b8a5e40bf721fc7998a221b7f7587a1e3c25890 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
diff --git a/base/memory/safe_ref.h b/base/memory/safe_ref.h
index 7189f8786..162c6744f 100644
--- a/base/memory/safe_ref.h
+++ b/base/memory/safe_ref.h
@@ -88,9 +88,10 @@ class SafeRef {
private:
template <typename U>
friend class SafeRef;
- friend SafeRef internal::MakeSafeRefFromWeakPtrInternals(
+ template <typename U>
+ friend SafeRef<U> internal::MakeSafeRefFromWeakPtrInternals(
const internal::WeakReference& ref,
- T* ptr);
+ U* ptr);
// Construction from a from WeakPtr. Will CHECK() if the WeakPtr is already
// invalid.
diff --git a/base/memory/weak_ptr.h b/base/memory/weak_ptr.h
index 17f7b8f87..d042ecff2 100644
--- a/base/memory/weak_ptr.h
+++ b/base/memory/weak_ptr.h
@@ -289,9 +289,10 @@ class WeakPtr : public internal::WeakPtrBase {
template <typename U> friend class WeakPtr;
friend class SupportsWeakPtr<T>;
friend class WeakPtrFactory<T>;
- friend SafeRef<T> internal::MakeSafeRefFromWeakPtrInternals(
+ template <typename U>
+ friend SafeRef<U> internal::MakeSafeRefFromWeakPtrInternals(
const internal::WeakReference& ref,
- T* ptr);
+ U* ptr);
WeakPtr(const internal::WeakReference& ref, T* ptr)
: WeakPtrBase(ref, reinterpret_cast<uintptr_t>(ptr)) {}
|