fix: Improve registry name errors?

Because of workspace inheritance, the errors aren't the greatest
This commit is contained in:
Ed Page 2023-12-13 11:37:08 -06:00
parent 6b6eb06714
commit db2e314077
2 changed files with 26 additions and 3 deletions

View file

@ -572,7 +572,7 @@ impl<'de, P: Deserialize<'de> + Clone> de::Deserialize<'de> for TomlDependency<P
#[serde(rename_all = "kebab-case")]
pub struct TomlDetailedDependency<P: Clone = String> {
pub version: Option<String>,
pub registry: Option<String>,
pub registry: Option<RegistryName>,
/// The URL of the `registry` field.
/// This is an internal implementation detail. When Cargo creates a
/// package, it replaces `registry` with `registry-index` so that the
@ -1177,6 +1177,15 @@ impl<T: AsRef<str>> PackageName<T> {
}
}
str_newtype!(RegistryName);
impl<T: AsRef<str>> RegistryName<T> {
pub fn new(name: T) -> Result<Self> {
restricted_names::validate_package_name(name.as_ref(), "registry name", "")?;
Ok(Self(name))
}
}
str_newtype!(ProfileName);
impl<T: AsRef<str>> ProfileName<T> {

View file

@ -715,7 +715,14 @@ fn bad_registry_name() {
[ERROR] failed to parse manifest at `[CWD]/Cargo.toml`
Caused by:
invalid character ` ` in registry name: `bad name`, [..]",
TOML parse error at line 7, column 17
|
7 | [dependencies.bar]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
invalid character ` ` in registry name: `bad name`, [..]
",
)
.run();
@ -1618,7 +1625,14 @@ fn empty_dependency_registry() {
[ERROR] failed to parse manifest at `[CWD]/Cargo.toml`
Caused by:
registry name cannot be empty",
TOML parse error at line 7, column 23
|
7 | bar = { version = \"0.1.0\", registry = \"\" }
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
registry name cannot be empty
",
)
.run();
}