@@ -3,13 +3,13 @@ use core::hash::Hash;
3
3
use core:: ops:: { Deref , DerefMut } ;
4
4
use std:: sync:: Arc ;
5
5
6
- pub struct RefMulti < ' a , K , V > {
7
- _guard : Arc < RwLockReadGuardDetached < ' a > > ,
8
- k : & ' a K ,
9
- v : & ' a V ,
6
+ pub struct RefMulti < ' a , K , V : ? Sized > {
7
+ pub ( super ) _guard : Arc < RwLockReadGuardDetached < ' a > > ,
8
+ pub ( super ) k : & ' a K ,
9
+ pub ( super ) v : & ' a V ,
10
10
}
11
11
12
- impl < ' a , K : Eq + Hash , V > RefMulti < ' a , K , V > {
12
+ impl < ' a , K : Eq + Hash , V : ? Sized > RefMulti < ' a , K , V > {
13
13
pub ( crate ) fn new ( guard : Arc < RwLockReadGuardDetached < ' a > > , k : & ' a K , v : & ' a V ) -> Self {
14
14
Self {
15
15
_guard : guard,
@@ -31,21 +31,21 @@ impl<'a, K: Eq + Hash, V> RefMulti<'a, K, V> {
31
31
}
32
32
}
33
33
34
- impl < ' a , K : Eq + Hash , V > Deref for RefMulti < ' a , K , V > {
34
+ impl < ' a , K : Eq + Hash , V : ? Sized > Deref for RefMulti < ' a , K , V > {
35
35
type Target = V ;
36
36
37
37
fn deref ( & self ) -> & V {
38
38
self . value ( )
39
39
}
40
40
}
41
41
42
- pub struct RefMutMulti < ' a , K , V > {
43
- _guard : Arc < RwLockWriteGuardDetached < ' a > > ,
44
- k : & ' a K ,
45
- v : & ' a mut V ,
42
+ pub struct RefMutMulti < ' a , K , V : ? Sized > {
43
+ pub ( super ) _guard : Arc < RwLockWriteGuardDetached < ' a > > ,
44
+ pub ( super ) k : & ' a K ,
45
+ pub ( super ) v : & ' a mut V ,
46
46
}
47
47
48
- impl < ' a , K : Eq + Hash , V > RefMutMulti < ' a , K , V > {
48
+ impl < ' a , K : Eq + Hash , V : ? Sized > RefMutMulti < ' a , K , V > {
49
49
pub ( crate ) fn new ( guard : Arc < RwLockWriteGuardDetached < ' a > > , k : & ' a K , v : & ' a mut V ) -> Self {
50
50
Self {
51
51
_guard : guard,
@@ -75,15 +75,15 @@ impl<'a, K: Eq + Hash, V> RefMutMulti<'a, K, V> {
75
75
}
76
76
}
77
77
78
- impl < ' a , K : Eq + Hash , V > Deref for RefMutMulti < ' a , K , V > {
78
+ impl < ' a , K : Eq + Hash , V : ? Sized > Deref for RefMutMulti < ' a , K , V > {
79
79
type Target = V ;
80
80
81
81
fn deref ( & self ) -> & V {
82
82
self . value ( )
83
83
}
84
84
}
85
85
86
- impl < ' a , K : Eq + Hash , V > DerefMut for RefMutMulti < ' a , K , V > {
86
+ impl < ' a , K : Eq + Hash , V : ? Sized > DerefMut for RefMutMulti < ' a , K , V > {
87
87
fn deref_mut ( & mut self ) -> & mut V {
88
88
self . value_mut ( )
89
89
}
0 commit comments