Skip to content

Commit de37d5b

Browse files
committed
Improve the invalid crate name error message
To explain what a valid crate name is.
1 parent bff48ce commit de37d5b

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

src/upload.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use semver;
66
use dependency::Kind as DependencyKind;
77

88
use keyword::Keyword as CrateKeyword;
9-
use krate::Crate;
9+
use krate::{Crate, MAX_NAME_LENGTH};
1010

1111
#[derive(RustcDecodable, RustcEncodable)]
1212
pub struct NewCrate {
@@ -52,7 +52,10 @@ impl Decodable for CrateName {
5252
fn decode<D: Decoder>(d: &mut D) -> Result<CrateName, D::Error> {
5353
let s = d.read_str()?;
5454
if !Crate::valid_name(&s) {
55-
return Err(d.error(&format!("invalid crate name specified: {}", s)))
55+
return Err(d.error(&format!("invalid crate name specified: {}. \
56+
Valid crate names must start with a letter; contain only \
57+
letters, numbers, hyphens, or underscores; and have {} or \
58+
fewer characters.", s, MAX_NAME_LENGTH)))
5659
}
5760
Ok(CrateName(s))
5861
}

0 commit comments

Comments
 (0)