@@ -32,51 +32,41 @@ impl<Key, State> StateMap<Key, State> {
3232
3333impl < Key : Ord + Clone , State > States < Key , State > for StateMap < Key , State > {
3434 fn insert ( & self , key : Key , item : State ) -> bool {
35- let guard = self . _inner . write ( ) ;
36- if guard. is_err ( ) {
35+ let Ok ( mut guard) = self . _inner . write ( ) else {
3736 return false ;
38- }
39- let mut guard = guard. unwrap ( ) ;
37+ } ;
4038 guard. insert ( key, Arc :: new ( item) ) ;
4139 true
4240 }
4341
4442 fn get_arc ( & self , key : & Key ) -> Option < Arc < State > > {
45- let guard = self . _inner . read ( ) ;
46- if guard. is_err ( ) {
43+ let Ok ( guard) = self . _inner . read ( ) else {
4744 return None ;
48- }
49- let guard = guard. unwrap ( ) ;
45+ } ;
5046 guard. get ( key) . cloned ( )
5147 }
5248
5349 fn remove ( & self , key : & Key ) {
54- let guard = self . _inner . write ( ) ;
55- if guard. is_err ( ) {
50+ let Ok ( mut guard) = self . _inner . write ( ) else {
5651 return ;
57- }
58- let mut guard = guard. unwrap ( ) ;
52+ } ;
5953 guard. remove ( key) ;
6054 }
6155
6256 fn list ( & self ) -> Vec < Key > {
63- let guard = self . _inner . read ( ) ;
64- if guard. is_err ( ) {
57+ let Ok ( guard) = self . _inner . read ( ) else {
6558 return Vec :: with_capacity ( 0 ) ;
66- }
67- let guard = guard. unwrap ( ) ;
59+ } ;
6860 guard. keys ( ) . cloned ( ) . collect ( )
6961 }
7062}
7163
7264impl < Key : Ord + Clone , State > StateMap < Key , State > {
7365 pub fn try_insert_deferred_returning < F > ( & self , key : Key , f : F ) -> Option < Arc < State > >
7466 where F : FnOnce ( ) -> State {
75- let guard = self . _inner . write ( ) ;
76- if guard. is_err ( ) {
67+ let Ok ( mut guard) = self . _inner . write ( ) else {
7768 return None ;
78- }
79- let mut guard = guard. unwrap ( ) ;
69+ } ;
8070 match guard. entry ( key) {
8171 Entry :: Vacant ( vacant_entry) => {
8272 let val = Arc :: new ( f ( ) ) ;
0 commit comments