diff --git a/crates/uv-python/src/discovery.rs b/crates/uv-python/src/discovery.rs index 3070135377301..378749f4ee253 100644 --- a/crates/uv-python/src/discovery.rs +++ b/crates/uv-python/src/discovery.rs @@ -3347,7 +3347,7 @@ impl FromStr for VersionRequest { return Err(Error::InvalidVersionRequest(s.to_string())); } - let Some(mut start) = s.rfind(|c: char| c.is_numeric()) else { + let Some(mut start) = s.rfind(|c: char| c.is_ascii_digit()) else { return Ok((s, PythonVariant::Default)); }; @@ -4330,6 +4330,10 @@ mod tests { VersionRequest::from_str("3.13tt"), Err(Error::InvalidVersionRequest(_)) )); + assert!(matches!( + VersionRequest::from_str("3.12²t"), + Err(Error::InvalidVersionRequest(_)) + )); // `==` specifiers are parsed as concrete version requests via `from_specifiers` assert_eq!(