@@ -1214,25 +1214,27 @@ impl<S: StashProvider, H: StateProvider, P: IndexProvider> Stock<S, H, P> {
1214
1214
. map_err ( |_| ComposeError :: TooManyBlanks ) ?;
1215
1215
}
1216
1216
1217
- let ( first_builder, second_builder) =
1217
+ let ( first_builder, first_inputs , second_builder, second_inputs ) =
1218
1218
match ( main_builder. has_inputs ( ) , alt_builder. has_inputs ( ) ) {
1219
- ( true , true ) => ( main_builder, Some ( alt_builder) ) ,
1220
- ( true , false ) => ( main_builder, None ) ,
1221
- ( false , true ) => ( alt_builder, None ) ,
1219
+ ( true , true ) => ( main_builder, main_inputs , Some ( alt_builder) , alt_inputs ) ,
1220
+ ( true , false ) => ( main_builder, main_inputs , None , alt_inputs ) ,
1221
+ ( false , true ) => ( alt_builder, alt_inputs , None , main_inputs ) ,
1222
1222
( false , false ) => return Err ( ComposeError :: InsufficientState . into ( ) ) ,
1223
1223
} ;
1224
- let first = TransitionInfo :: new ( first_builder. complete_transition ( ) ?, main_inputs )
1224
+ let first = TransitionInfo :: new ( first_builder. complete_transition ( ) ?, first_inputs )
1225
1225
. map_err ( |e| {
1226
1226
debug_assert ! ( !matches!( e, TransitionInfoError :: CloseMethodDivergence ( _) ) ) ;
1227
1227
ComposeError :: TooManyInputs
1228
1228
} ) ?;
1229
1229
let second = if let Some ( second_builder) = second_builder {
1230
- Some ( TransitionInfo :: new ( second_builder. complete_transition ( ) ?, alt_inputs) . map_err (
1231
- |e| {
1232
- debug_assert ! ( !matches!( e, TransitionInfoError :: CloseMethodDivergence ( _) ) ) ;
1233
- ComposeError :: TooManyInputs
1234
- } ,
1235
- ) ?)
1230
+ Some (
1231
+ TransitionInfo :: new ( second_builder. complete_transition ( ) ?, second_inputs) . map_err (
1232
+ |e| {
1233
+ debug_assert ! ( !matches!( e, TransitionInfoError :: CloseMethodDivergence ( _) ) ) ;
1234
+ ComposeError :: TooManyInputs
1235
+ } ,
1236
+ ) ?,
1237
+ )
1236
1238
} else {
1237
1239
None
1238
1240
} ;
0 commit comments