pub struct FileExtension(/* private fields */);Expand description
A file extension as Path::extension reports it: no leading dot, and only
ASCII letters, digits, _, - and +, so no glob or path characters
that make a pattern ambiguous.
extensions = [".rs"] would load but never match, so a leading dot is
rejected at load time. Case is significant, as in the extension map.
§Examples
use mcpls_core::config::FileExtension;
assert_eq!(FileExtension::new("rs").unwrap(), "rs");
assert!(FileExtension::new(".rs").is_err());
assert!(FileExtension::new("{cpp,h}").is_err());Implementations§
Source§impl FileExtension
impl FileExtension
Sourcepub const fn from_static(text: &'static str) -> Self
pub const fn from_static(text: &'static str) -> Self
Builds the value from a literal, checked at compile time when
evaluated in a const context.
§Panics
Panics if the literal is not a valid value of this type.
Sourcepub fn new(text: impl Into<String>) -> Result<Self, InvalidFileExtension>
pub fn new(text: impl Into<String>) -> Result<Self, InvalidFileExtension>
Builds the value from any string.
§Errors
Returns InvalidFileExtension naming the first rule text breaks.
Trait Implementations§
Source§impl AsRef<str> for FileExtension
impl AsRef<str> for FileExtension
Source§impl Borrow<str> for FileExtension
impl Borrow<str> for FileExtension
Source§impl Clone for FileExtension
impl Clone for FileExtension
Source§impl Debug for FileExtension
impl Debug for FileExtension
Source§impl<'de> Deserialize<'de> for FileExtension
impl<'de> Deserialize<'de> for FileExtension
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for FileExtension
impl Display for FileExtension
impl Eq for FileExtension
Source§impl From<FileExtension> for String
impl From<FileExtension> for String
Source§fn from(value: FileExtension) -> Self
fn from(value: FileExtension) -> Self
Converts to this type from the input type.
Source§impl FromStr for FileExtension
impl FromStr for FileExtension
Source§impl Hash for FileExtension
impl Hash for FileExtension
Source§impl PartialEq for FileExtension
impl PartialEq for FileExtension
Source§impl PartialEq<&str> for FileExtension
impl PartialEq<&str> for FileExtension
Source§impl PartialEq<str> for FileExtension
impl PartialEq<str> for FileExtension
Source§impl Serialize for FileExtension
impl Serialize for FileExtension
impl StructuralPartialEq for FileExtension
Auto Trait Implementations§
impl Freeze for FileExtension
impl RefUnwindSafe for FileExtension
impl Send for FileExtension
impl Sync for FileExtension
impl Unpin for FileExtension
impl UnsafeUnpin for FileExtension
impl UnwindSafe for FileExtension
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.