From 94f830adb3fca81836a76518d189f07f808dea15 Mon Sep 17 00:00:00 2001 From: Dirkjan Ochtman Date: Wed, 18 Mar 2020 21:32:19 +0100 Subject: [PATCH] Allow features prefixed with "crate:" for namespaced-features See description of the unstable cargo feature here: https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#namespaced-features This allows crates that enable namespaced features to be published to a crate registry. --- src/models/krate.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/models/krate.rs b/src/models/krate.rs index 6e73ae54ca3..1ab11e6c79e 100644 --- a/src/models/krate.rs +++ b/src/models/krate.rs @@ -280,6 +280,9 @@ impl Crate { pub fn valid_feature(name: &str) -> bool { let mut parts = name.split('/'); match parts.next() { + Some(part) if part.starts_with("crate:") => { + return Crate::valid_feature_name(&part[6..]) && parts.next().is_none(); + } Some(part) if !Crate::valid_feature_name(part) => return false, None => return false, _ => {}