no direct slice indexing

This commit is contained in:
Emilia Allison 2025-01-04 20:23:09 -05:00
parent 453ad9ed35
commit 949822f26c
Signed by: emilia
GPG Key ID: 05D5D1107E5100A1
1 changed files with 18 additions and 13 deletions

View File

@ -148,9 +148,10 @@ fn calculate_shading_for_wells(
x.volume += 5.0;
x.color = PALETTE.get_ordered(transfer.id, ordered_ids);
} else {
well_infos
[(well.row - 1) as usize * columns as usize + (well.col - 1) as usize] =
Some(WellInfo::new(
if let Some(mut wi) = well_infos.get_mut(
(well.row - 1) as usize * columns as usize + (well.col - 1) as usize,
) {
*wi = Some(WellInfo::new(
5.0,
PALETTE.get_ordered(transfer.id, ordered_ids),
));
@ -158,6 +159,7 @@ fn calculate_shading_for_wells(
}
}
}
}
well_infos
}
@ -276,7 +278,9 @@ fn add_plate_sub(
};
if let Some(wells) = current_transfer_wells {
for w in wells {
let well_info = &mut well_infos[(w.0 - 1) * columns as usize + (w.1 - 1)];
if let Some(mut well_info) =
well_infos.get_mut((w.0 - 1) * columns as usize + (w.1 - 1))
{
let volume = well_info.map(|x| x.volume).unwrap_or(0.0)
+ current_transfer_state
.and_then(|x| x.lock().ok())
@ -289,6 +293,7 @@ fn add_plate_sub(
})
}
}
}
well_infos
};