@@ -198,15 +198,18 @@ async fn stdcm(
198
198
let latest_simulation_end = stdcm_request. get_latest_simulation_end ( simulation_run_time) ;
199
199
200
200
// 3. Get scheduled train requirements
201
- let simulations = train_simulation_batch (
201
+ let simulations: Vec < _ > = train_simulation_batch (
202
202
conn,
203
203
valkey_client. clone ( ) ,
204
204
core_client. clone ( ) ,
205
205
& train_schedules,
206
206
& infra,
207
207
stdcm_request. electrical_profile_set_id ,
208
208
)
209
- . await ?;
209
+ . await ?
210
+ . into_iter ( )
211
+ . map ( |( sim, _) | sim)
212
+ . collect ( ) ;
210
213
211
214
let trains_requirements = build_train_requirements (
212
215
train_schedules. clone ( ) ,
@@ -297,12 +300,12 @@ async fn stdcm(
297
300
/// that overlap with the possible simulation times.
298
301
pub fn build_train_requirements (
299
302
train_schedules : Vec < TrainSchedule > ,
300
- simulation_responses : Vec < ( SimulationResponse , PathfindingResult ) > ,
303
+ simulation_responses : Vec < SimulationResponse > ,
301
304
departure_time : DateTime < Utc > ,
302
305
latest_simulation_end : DateTime < Utc > ,
303
306
) -> HashMap < i64 , TrainRequirements > {
304
307
let mut trains_requirements = HashMap :: new ( ) ;
305
- for ( train, ( sim, _ ) ) in train_schedules. iter ( ) . zip ( simulation_responses) {
308
+ for ( train, sim) in train_schedules. iter ( ) . zip ( simulation_responses) {
306
309
let final_output = match sim {
307
310
SimulationResponse :: Success { final_output, .. } => final_output,
308
311
_ => continue ,
0 commit comments