pub struct ExtensionClass(/* private fields */);Expand description
An extension class name (custom type classes).
Implementations§
Source§impl ExtensionClass
impl ExtensionClass
Sourcepub fn new(name: &str) -> Result<Self, TypeClassError>
pub fn new(name: &str) -> Result<Self, TypeClassError>
Creates a new extension class.
A single letter is a valid name: an agent ID is a TypeID, and the
TypeID specification admits prefixes of one to sixty-three characters.
§Errors
Returns TypeClassError::Empty for an empty name, and
TypeClassError::InvalidChar naming the first character that is not a
lowercase ASCII letter.
§Example
use agent_uri::{ExtensionClass, TypeClassError};
assert_eq!(ExtensionClass::new("custom").unwrap().as_str(), "custom");
assert_eq!(
ExtensionClass::new("v2"),
Err(TypeClassError::InvalidChar { char: '2', position: 1 })
);Trait Implementations§
Source§impl Clone for ExtensionClass
impl Clone for ExtensionClass
Source§impl Debug for ExtensionClass
impl Debug for ExtensionClass
Source§impl Display for ExtensionClass
impl Display for ExtensionClass
impl Eq for ExtensionClass
Source§impl Hash for ExtensionClass
impl Hash for ExtensionClass
Source§impl PartialEq for ExtensionClass
impl PartialEq for ExtensionClass
impl StructuralPartialEq for ExtensionClass
Auto Trait Implementations§
impl Freeze for ExtensionClass
impl RefUnwindSafe for ExtensionClass
impl Send for ExtensionClass
impl Sync for ExtensionClass
impl Unpin for ExtensionClass
impl UnsafeUnpin for ExtensionClass
impl UnwindSafe for ExtensionClass
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