From 5471957c63bf242b41aad8a2812288522af471f9 Mon Sep 17 00:00:00 2001 From: "Adam H. Leventhal" Date: Fri, 24 Apr 2026 10:06:10 -0700 Subject: [PATCH] small fix to is_crate() --- cargo-typify/src/lib.rs | 3 ++- typify-macro/src/lib.rs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/cargo-typify/src/lib.rs b/cargo-typify/src/lib.rs index 0e592d45..b94e311f 100644 --- a/cargo-typify/src/lib.rs +++ b/cargo-typify/src/lib.rs @@ -100,7 +100,8 @@ impl std::str::FromStr for CrateSpec { fn from_str(s: &str) -> Result { fn is_crate(s: &str) -> bool { - !s.contains(|cc: char| !cc.is_alphabetic() && cc != '-' && cc != '_') + s.starts_with(|cc: char| cc.is_alphabetic() || cc == '_') + && !s.contains(|cc: char| !cc.is_alphanumeric() && cc != '-' && cc != '_') } fn convert(s: &str) -> Option { diff --git a/typify-macro/src/lib.rs b/typify-macro/src/lib.rs index d68ba325..69b74026 100644 --- a/typify-macro/src/lib.rs +++ b/typify-macro/src/lib.rs @@ -159,7 +159,8 @@ impl<'de> Deserialize<'de> for CrateName { } fn is_crate(s: &str) -> bool { - !s.contains(|cc: char| !cc.is_alphanumeric() && cc != '_' && cc != '-') + s.starts_with(|cc: char| cc.is_alphabetic() || cc == '_') + && !s.contains(|cc: char| !cc.is_alphanumeric() && cc != '_' && cc != '-') } #[derive(Deserialize)]