@@ -194,43 +194,38 @@ where
194194 & self ,
195195 args : BuildArguments < Self :: Attributes , Self :: BuiltPayload > ,
196196 ) -> Result < BuildOutcome < Self :: BuiltPayload > , PayloadBuilderError > {
197- match args. config . attributes {
198- Either :: Left ( ref left_attr) => {
197+ let BuildArguments { cached_reads, config, cancel, best_payload } = args;
198+ let PayloadConfig { parent_header, attributes } = config;
199+
200+ match attributes {
201+ Either :: Left ( left_attr) => {
199202 let left_args: BuildArguments < L :: Attributes , L :: BuiltPayload > = BuildArguments {
200- cached_reads : args. cached_reads . clone ( ) ,
201- config : PayloadConfig {
202- parent_header : args. config . parent_header . clone ( ) ,
203- attributes : left_attr. clone ( ) ,
204- } ,
205- cancel : args. cancel . clone ( ) ,
206- best_payload : args. best_payload . clone ( ) . and_then ( |payload| {
203+ cached_reads,
204+ config : PayloadConfig { parent_header, attributes : left_attr } ,
205+ cancel,
206+ best_payload : best_payload. and_then ( |payload| {
207207 if let Either :: Left ( p) = payload {
208208 Some ( p)
209209 } else {
210210 None
211211 }
212212 } ) ,
213213 } ;
214-
215214 self . left . try_build ( left_args) . map ( |out| out. map_payload ( Either :: Left ) )
216215 }
217- Either :: Right ( ref right_attr) => {
216+ Either :: Right ( right_attr) => {
218217 let right_args = BuildArguments {
219- cached_reads : args. cached_reads . clone ( ) ,
220- config : PayloadConfig {
221- parent_header : args. config . parent_header . clone ( ) ,
222- attributes : right_attr. clone ( ) ,
223- } ,
224- cancel : args. cancel . clone ( ) ,
225- best_payload : args. best_payload . clone ( ) . and_then ( |payload| {
218+ cached_reads,
219+ config : PayloadConfig { parent_header, attributes : right_attr } ,
220+ cancel,
221+ best_payload : best_payload. and_then ( |payload| {
226222 if let Either :: Right ( p) = payload {
227223 Some ( p)
228224 } else {
229225 None
230226 }
231227 } ) ,
232228 } ;
233-
234229 self . right . try_build ( right_args) . map ( |out| out. map_payload ( Either :: Right ) )
235230 }
236231 }
0 commit comments