mirror of https://github.com/rust-lang/cargo
refactor(toml): Abstract out lib name validation
This commit is contained in:
parent
74e8d760f0
commit
6ef9779752
|
@ -159,18 +159,14 @@ fn to_lib_target(
|
|||
})
|
||||
});
|
||||
let Some(mut lib) = lib else { return Ok(None) };
|
||||
let name = lib
|
||||
.name
|
||||
lib.name
|
||||
.get_or_insert_with(|| package_name.replace("-", "_"));
|
||||
if name.contains('-') {
|
||||
anyhow::bail!("library target names cannot contain hyphens: {}", name)
|
||||
}
|
||||
|
||||
let lib = &lib;
|
||||
validate_proc_macro(lib, "library", warnings);
|
||||
validate_crate_types(lib, "library", warnings);
|
||||
|
||||
validate_target_name(lib, "library", "lib", warnings)?;
|
||||
validate_lib_name(lib, warnings)?;
|
||||
|
||||
let path = match (lib.path.as_ref(), inferred) {
|
||||
(Some(path), _) => package_root.join(&path.0),
|
||||
|
@ -769,6 +765,16 @@ fn inferred_to_toml_targets(inferred: &[(String, PathBuf)]) -> Vec<TomlTarget> {
|
|||
.collect()
|
||||
}
|
||||
|
||||
fn validate_lib_name(target: &TomlTarget, warnings: &mut Vec<String>) -> CargoResult<()> {
|
||||
validate_target_name(target, "library", "lib", warnings)?;
|
||||
let name = name_or_panic(target);
|
||||
if name.contains('-') {
|
||||
anyhow::bail!("library target names cannot contain hyphens: {}", name)
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn validate_target_name(
|
||||
target: &TomlTarget,
|
||||
target_kind_human: &str,
|
||||
|
|
Loading…
Reference in New Issue