@@ -101,12 +101,7 @@ pub trait Armor<'de> {
101
101
Ok ( item)
102
102
}
103
103
104
- // try to load both left and right arms
105
- #[ allow( clippy:: type_complexity) ]
106
- fn load_arms (
107
- & self ,
108
- id : & Eid ,
109
- ) -> Result < ( Option < Self :: Item > , Option < Self :: Item > ) > {
104
+ fn load_item ( & self , id : & Eid ) -> Result < Self :: Item > {
110
105
// load left and right arms
111
106
let left_arm = self . load_one_arm ( id, Arm :: Left ) ;
112
107
let right_arm = self . load_one_arm ( id, Arm :: Right ) ;
@@ -115,40 +110,19 @@ pub trait Armor<'de> {
115
110
Ok ( left) => match right_arm {
116
111
Ok ( right) => {
117
112
assert ! ( left. seq( ) != right. seq( ) ) ;
118
- Ok ( ( Some ( left) , Some ( right) ) )
119
- }
120
- Err ( ref err) if * err == Error :: NotFound => {
121
- Ok ( ( Some ( left) , None ) )
122
- }
123
- Err ( err) => Err ( err) ,
124
- } ,
125
- Err ( ref err) if * err == Error :: NotFound => match right_arm {
126
- Ok ( right) => Ok ( ( None , Some ( right) ) ) ,
127
- Err ( ref err) if * err == Error :: NotFound => Ok ( ( None , None ) ) ,
128
- Err ( err) => Err ( err) ,
129
- } ,
130
- Err ( err) => Err ( err) ,
131
- }
132
- }
133
-
134
- fn load_item ( & self , id : & Eid ) -> Result < Self :: Item > {
135
- let ( left_arm, right_arm) = self . load_arms ( id) ?;
136
-
137
- let item = match left_arm {
138
- Some ( left) => match right_arm {
139
- Some ( right) => {
140
113
if left. seq ( ) > right. seq ( ) {
141
- left
114
+ Ok ( left)
142
115
} else {
143
- right
116
+ Ok ( right)
144
117
}
145
118
}
146
- None => left,
119
+ Err ( _ ) => Ok ( left) ,
147
120
} ,
148
- None => right_arm. ok_or ( Error :: NotFound ) ?,
149
- } ;
150
-
151
- Ok ( item)
121
+ Err ( _) => match right_arm {
122
+ Ok ( right) => Ok ( right) ,
123
+ Err ( err) => Err ( err) ,
124
+ } ,
125
+ }
152
126
}
153
127
154
128
// save item
0 commit comments