Skip to content

Commit 6822860

Browse files
authored
fix(cheatcodes): get artifact code panic (foundry-rs#8546)
1 parent 741db53 commit 6822860

File tree

1 file changed

+6
-7
lines changed
  • crates/cheatcodes/src

1 file changed

+6
-7
lines changed

crates/cheatcodes/src/fs.rs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -387,22 +387,21 @@ fn get_artifact_code(state: &Cheatcodes, path: &str, deployed: bool) -> Result<B
387387
})
388388
.collect::<Vec<_>>();
389389

390-
let artifact = match filtered.len() {
391-
0 => Err(fmt_err!("No matching artifact found")),
392-
1 => Ok(filtered[0]),
393-
_ => {
390+
let artifact = match &filtered[..] {
391+
[] => Err(fmt_err!("No matching artifact found")),
392+
[artifact] => Ok(artifact),
393+
filtered => {
394394
// If we know the current script/test contract solc version, try to filter by it
395395
state
396396
.config
397397
.running_version
398398
.as_ref()
399399
.and_then(|version| {
400400
let filtered = filtered
401-
.into_iter()
401+
.iter()
402402
.filter(|(id, _)| id.version == *version)
403403
.collect::<Vec<_>>();
404-
405-
(filtered.len() == 1).then_some(filtered[0])
404+
(filtered.len() == 1).then(|| filtered[0])
406405
})
407406
.ok_or_else(|| fmt_err!("Multiple matching artifacts found"))
408407
}

0 commit comments

Comments
 (0)