[PATCH v2 17/20] rust: syn: remove `unicode-ident` dependency

Miguel Ojeda
2025-11-24T15:20:12Z

The `syn` crate depends on the `unicode-ident` crate to determine whether
characters have the XID_Start or XID_Continue properties according to
Unicode Standard Annex #31.

However, we only need ASCII identifiers in the kernel, thus we can
simplify the check and remove completely that dependency.

Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Gary Guo <gary@garyguo.net>
Tested-by: Gary Guo <gary@garyguo.net>
Tested-by: Jesung Yang <y.j3ms.n@gmail.com>
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
---
rust/syn/ident.rs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/rust/syn/ident.rs b/rust/syn/ident.rs
index 2c4b56505bec..03ccebf9c022 100644
--- a/rust/syn/ident.rs
+++ b/rust/syn/ident.rs
@@ -39,11 +39,11 @@ fn from(token: Token![_]) -> Ident {
pub(crate) fn xid_ok(symbol: &str) -> bool {
let mut chars = symbol.chars();
let first = chars.next().unwrap();
- if !(first == '_' || unicode_ident::is_xid_start(first)) {
+ if !(first == '_' || first.is_ascii_alphabetic()) {
return false;
}
for ch in chars {
- if !unicode_ident::is_xid_continue(ch) {
+ if !(ch == '_' || ch.is_ascii_alphanumeric()) {
return false;
}
}
--
2.52.0