diff --git a/crates/cargo-util-schemas/src/manifest/mod.rs b/crates/cargo-util-schemas/src/manifest/mod.rs index 75f7f628b..158598ee9 100644 --- a/crates/cargo-util-schemas/src/manifest/mod.rs +++ b/crates/cargo-util-schemas/src/manifest/mod.rs @@ -1209,7 +1209,7 @@ str_newtype!(PackageName); impl> PackageName { /// Validated package name pub fn new(name: T) -> Result { - restricted_names::validate_package_name(name.as_ref(), "package name")?; + restricted_names::validate_package_name(name.as_ref())?; Ok(Self(name)) } } @@ -1231,7 +1231,7 @@ str_newtype!(RegistryName); impl> RegistryName { /// Validated registry name pub fn new(name: T) -> Result { - restricted_names::validate_package_name(name.as_ref(), "registry name")?; + restricted_names::validate_registry_name(name.as_ref())?; Ok(Self(name)) } } diff --git a/crates/cargo-util-schemas/src/restricted_names.rs b/crates/cargo-util-schemas/src/restricted_names.rs index 79d01ac9b..36df8ce46 100644 --- a/crates/cargo-util-schemas/src/restricted_names.rs +++ b/crates/cargo-util-schemas/src/restricted_names.rs @@ -33,13 +33,15 @@ enum ErrorKind { FeatureNameStartsWithDepColon(String), } -/// Check the base requirements for a package name. -/// -/// This can be used for other things than package names, to enforce some -/// level of sanity. Note that package names have other restrictions -/// elsewhere. `cargo new` has a few restrictions, such as checking for -/// reserved names. crates.io has even more restrictions. -pub(crate) fn validate_package_name(name: &str, what: &'static str) -> Result<()> { +pub(crate) fn validate_package_name(name: &str) -> Result<()> { + validate_name(name, "package name") +} + +pub(crate) fn validate_registry_name(name: &str) -> Result<()> { + validate_name(name, "registry name") +} + +pub(crate) fn validate_name(name: &str, what: &'static str) -> Result<()> { if name.is_empty() { return Err(ErrorKind::Empty(what).into()); }