diff --git a/crates/cli/src/utils/cmd.rs b/crates/cli/src/utils/cmd.rs index cdd940c5b267..475fae2ed2e4 100644 --- a/crates/cli/src/utils/cmd.rs +++ b/crates/cli/src/utils/cmd.rs @@ -39,7 +39,7 @@ pub fn remove_contract( } else { let mut err = format!("could not find artifact: `{}`", name); if let Some(suggestion) = - super::did_you_mean(&name, output.artifacts().map(|(name, _)| name)).pop() + super::did_you_mean(name, output.artifacts().map(|(name, _)| name)).pop() { if suggestion != name { err = format!( diff --git a/crates/common/src/compile.rs b/crates/common/src/compile.rs index fcfd78b46e22..f904431f37ab 100644 --- a/crates/common/src/compile.rs +++ b/crates/common/src/compile.rs @@ -470,21 +470,18 @@ pub fn find_contract_path(target_name: &str, project: &Project) -> Result { - if let Some(name) = contract.name { - if name.name == target_name { - if target.is_some() { - eyre::bail!( - "Found multiple matching contracts with the name `{}`", - target_name - ); - } - target = Some(file); + if let SourceUnitPart::ContractDefinition(contract) = part { + if let Some(name) = contract.name { + if name.name == target_name { + if target.is_some() { + eyre::bail!( + "Found multiple matching contracts with the name `{}`", + target_name + ); } + target = Some(file); } } - _ => {} } } }