@@ -3,13 +3,13 @@ use core::hash::Hash;
33use core:: ops:: { Deref , DerefMut } ;
44use std:: sync:: Arc ;
55
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 ,
1010}
1111
12- impl < ' a , K : Eq + Hash , V > RefMulti < ' a , K , V > {
12+ impl < ' a , K : Eq + Hash , V : ? Sized > RefMulti < ' a , K , V > {
1313 pub ( crate ) fn new ( guard : Arc < RwLockReadGuardDetached < ' a > > , k : & ' a K , v : & ' a V ) -> Self {
1414 Self {
1515 _guard : guard,
@@ -31,21 +31,21 @@ impl<'a, K: Eq + Hash, V> RefMulti<'a, K, V> {
3131 }
3232}
3333
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 > {
3535 type Target = V ;
3636
3737 fn deref ( & self ) -> & V {
3838 self . value ( )
3939 }
4040}
4141
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 ,
4646}
4747
48- impl < ' a , K : Eq + Hash , V > RefMutMulti < ' a , K , V > {
48+ impl < ' a , K : Eq + Hash , V : ? Sized > RefMutMulti < ' a , K , V > {
4949 pub ( crate ) fn new ( guard : Arc < RwLockWriteGuardDetached < ' a > > , k : & ' a K , v : & ' a mut V ) -> Self {
5050 Self {
5151 _guard : guard,
@@ -75,15 +75,15 @@ impl<'a, K: Eq + Hash, V> RefMutMulti<'a, K, V> {
7575 }
7676}
7777
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 > {
7979 type Target = V ;
8080
8181 fn deref ( & self ) -> & V {
8282 self . value ( )
8383 }
8484}
8585
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 > {
8787 fn deref_mut ( & mut self ) -> & mut V {
8888 self . value_mut ( )
8989 }
0 commit comments