1 #[cfg(no_str_strip_prefix)] // rustc <1.45 2 pub(crate) trait StripPrefixExt { strip_prefix(&self, ch: char) -> Option<&str>3 fn strip_prefix(&self, ch: char) -> Option<&str>; 4 } 5 6 #[cfg(no_str_strip_prefix)] 7 impl StripPrefixExt for str { strip_prefix(&self, ch: char) -> Option<&str>8 fn strip_prefix(&self, ch: char) -> Option<&str> { 9 if self.starts_with(ch) { 10 Some(&self[ch.len_utf8()..]) 11 } else { 12 None 13 } 14 } 15 } 16 17 pub(crate) use crate::alloc::vec::Vec; 18 19 #[cfg(no_alloc_crate)] // rustc <1.36 20 pub(crate) mod alloc { 21 pub use std::alloc; 22 pub use std::vec; 23 } 24