#[non_exhaustive]pub enum OwnedFormatItem {
Literal(Box<[u8]>),
Component(Component),
Compound(Box<[Self]>),
Optional(Box<Self>),
First(Box<[Self]>),
}
alloc
and (crate features formatting
or parsing
) only.Expand description
A complete description of how to format and parse a type.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Literal(Box<[u8]>)
Bytes that are formatted as-is.
Note: These bytes should be UTF-8, but are not required to be. The value is passed
through String::from_utf8_lossy
when necessary.
Component(Component)
A minimal representation of a single non-literal item.
Compound(Box<[Self]>)
A series of literals or components that collectively form a partial or complete description.
Optional(Box<Self>)
A FormatItem
that may or may not be present when parsing. If parsing fails, there
will be no effect on the resulting struct
.
This variant has no effect on formatting, as the value is guaranteed to be present.
First(Box<[Self]>)
Trait Implementations§
Source§impl Clone for OwnedFormatItem
impl Clone for OwnedFormatItem
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for OwnedFormatItem
impl Debug for OwnedFormatItem
Source§impl From<&BorrowedFormatItem<'_>> for OwnedFormatItem
impl From<&BorrowedFormatItem<'_>> for OwnedFormatItem
Source§fn from(item: &BorrowedFormatItem<'_>) -> Self
fn from(item: &BorrowedFormatItem<'_>) -> Self
Source§impl<'a, T: AsRef<[BorrowedFormatItem<'a>]> + ?Sized> From<&T> for OwnedFormatItem
impl<'a, T: AsRef<[BorrowedFormatItem<'a>]> + ?Sized> From<&T> for OwnedFormatItem
Source§impl From<BorrowedFormatItem<'_>> for OwnedFormatItem
impl From<BorrowedFormatItem<'_>> for OwnedFormatItem
Source§fn from(item: BorrowedFormatItem<'_>) -> Self
fn from(item: BorrowedFormatItem<'_>) -> Self
Source§impl<'a> From<Box<[Item<'a>]>> for OwnedFormatItem
impl<'a> From<Box<[Item<'a>]>> for OwnedFormatItem
Source§impl From<Component> for OwnedFormatItem
impl From<Component> for OwnedFormatItem
Source§impl From<Vec<BorrowedFormatItem<'_>>> for OwnedFormatItem
impl From<Vec<BorrowedFormatItem<'_>>> for OwnedFormatItem
Source§fn from(items: Vec<BorrowedFormatItem<'_>>) -> Self
fn from(items: Vec<BorrowedFormatItem<'_>>) -> Self
Source§impl From<Vec<OwnedFormatItem>> for OwnedFormatItem
impl From<Vec<OwnedFormatItem>> for OwnedFormatItem
Source§impl PartialEq<&[OwnedFormatItem]> for OwnedFormatItem
impl PartialEq<&[OwnedFormatItem]> for OwnedFormatItem
Source§impl PartialEq<Component> for OwnedFormatItem
impl PartialEq<Component> for OwnedFormatItem
Source§impl PartialEq<OwnedFormatItem> for &[OwnedFormatItem]
impl PartialEq<OwnedFormatItem> for &[OwnedFormatItem]
Source§impl PartialEq<OwnedFormatItem> for Component
impl PartialEq<OwnedFormatItem> for Component
Source§impl PartialEq for OwnedFormatItem
impl PartialEq for OwnedFormatItem
Source§impl TryFrom<OwnedFormatItem> for Component
impl TryFrom<OwnedFormatItem> for Component
Source§type Error = DifferentVariant
type Error = DifferentVariant
Source§impl TryFrom<OwnedFormatItem> for Vec<OwnedFormatItem>
impl TryFrom<OwnedFormatItem> for Vec<OwnedFormatItem>
Source§type Error = DifferentVariant
type Error = DifferentVariant
impl Eq for OwnedFormatItem
impl Formattable for OwnedFormatItem
formatting
only.impl Parsable for OwnedFormatItem
parsing
only.impl StructuralPartialEq for OwnedFormatItem
Auto Trait Implementations§
impl Freeze for OwnedFormatItem
impl RefUnwindSafe for OwnedFormatItem
impl Send for OwnedFormatItem
impl Sync for OwnedFormatItem
impl Unpin for OwnedFormatItem
impl UnwindSafe for OwnedFormatItem
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 24 bytes
Size for each variant:
Literal
: 22 bytesComponent
: 4 bytesCompound
: 22 bytesOptional
: 14 bytesFirst
: 22 bytes