#[non_exhaustive]pub enum BorrowedFormatItem<'a> {
Literal(&'a [u8]),
Component(Component),
Compound(&'a [Self]),
Optional(&'a Self),
First(&'a [Self]),
}
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(&'a [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(&'a [Self])
A series of literals or components that collectively form a partial or complete description.
Optional(&'a 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(&'a [Self])
A series of FormatItem
s where, when parsing, the first successful parse is used. When
formatting, the first element of the slice is used. An empty slice is a no-op when
formatting or parsing.
Trait Implementations§
Source§impl<'a> Clone for BorrowedFormatItem<'a>
impl<'a> Clone for BorrowedFormatItem<'a>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for BorrowedFormatItem<'_>
Available on crate feature alloc
only.
impl Debug for BorrowedFormatItem<'_>
alloc
only.Source§impl<'a> From<&'a [BorrowedFormatItem<'_>]> for BorrowedFormatItem<'a>
impl<'a> From<&'a [BorrowedFormatItem<'_>]> for BorrowedFormatItem<'a>
Source§fn from(items: &'a [BorrowedFormatItem<'_>]) -> Self
fn from(items: &'a [BorrowedFormatItem<'_>]) -> Self
Source§impl From<&BorrowedFormatItem<'_>> for OwnedFormatItem
Available on crate feature alloc
only.
impl From<&BorrowedFormatItem<'_>> for OwnedFormatItem
alloc
only.Source§fn from(item: &BorrowedFormatItem<'_>) -> Self
fn from(item: &BorrowedFormatItem<'_>) -> Self
Source§impl From<BorrowedFormatItem<'_>> for OwnedFormatItem
Available on crate feature alloc
only.
impl From<BorrowedFormatItem<'_>> for OwnedFormatItem
alloc
only.Source§fn from(item: BorrowedFormatItem<'_>) -> Self
fn from(item: BorrowedFormatItem<'_>) -> Self
Source§impl From<Component> for BorrowedFormatItem<'_>
impl From<Component> for BorrowedFormatItem<'_>
Source§impl PartialEq<&[BorrowedFormatItem<'_>]> for BorrowedFormatItem<'_>
impl PartialEq<&[BorrowedFormatItem<'_>]> for BorrowedFormatItem<'_>
Source§impl PartialEq<BorrowedFormatItem<'_>> for &[BorrowedFormatItem<'_>]
impl PartialEq<BorrowedFormatItem<'_>> for &[BorrowedFormatItem<'_>]
Source§impl PartialEq<BorrowedFormatItem<'_>> for Component
impl PartialEq<BorrowedFormatItem<'_>> for Component
Source§impl PartialEq<Component> for BorrowedFormatItem<'_>
impl PartialEq<Component> for BorrowedFormatItem<'_>
Source§impl<'a> PartialEq for BorrowedFormatItem<'a>
impl<'a> PartialEq for BorrowedFormatItem<'a>
Source§impl TryFrom<BorrowedFormatItem<'_>> for Component
impl TryFrom<BorrowedFormatItem<'_>> for Component
Source§type Error = DifferentVariant
type Error = DifferentVariant
Source§impl<'a> TryFrom<BorrowedFormatItem<'a>> for &[BorrowedFormatItem<'a>]
impl<'a> TryFrom<BorrowedFormatItem<'a>> for &[BorrowedFormatItem<'a>]
Source§type Error = DifferentVariant
type Error = DifferentVariant
impl<'a> Eq for BorrowedFormatItem<'a>
impl Formattable for BorrowedFormatItem<'_>
formatting
only.impl Parsable for BorrowedFormatItem<'_>
parsing
only.impl<'a> StructuralPartialEq for BorrowedFormatItem<'a>
Auto Trait Implementations§
impl<'a> Freeze for BorrowedFormatItem<'a>
impl<'a> RefUnwindSafe for BorrowedFormatItem<'a>
impl<'a> Send for BorrowedFormatItem<'a>
impl<'a> Sync for BorrowedFormatItem<'a>
impl<'a> Unpin for BorrowedFormatItem<'a>
impl<'a> UnwindSafe for BorrowedFormatItem<'a>
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