#[non_exhaustive]pub enum FormattedDateTimePatternError {
InvalidMonthCode(MonthCode),
InvalidEra(TinyAsciiStr<16>),
InvalidCyclicYear {
value: u8,
max: u8,
},
NamesNotLoaded(ErrorField),
DecimalFormatterNotLoaded,
MissingInputField(MissingInputFieldKind),
UnsupportedField(ErrorField),
UnsupportedLength(ErrorField),
}
Expand description
Error for the [TryWriteable
] implementation of FormattedDateTimePattern
.
There are 3 general conditions for these errors to occur:
- Invariants of unchecked functions are not upheld
- Invariants of locale data are not upheld
- Invariants of trait impls are not upheld (including [scaffolding traits])
It is not always possible to distinguish the source of the errors. Each variant is documented with rules of thumb for when they might occur.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
InvalidMonthCode(MonthCode)
The MonthCode
of the input is not valid for this calendar.
Error conditions:
- Locale data: for example, datetime names don’t match the formatter’s calendar
- Trait impls: for example, the date returns fields for the wrong calendar
The output will contain the raw MonthCode
as a fallback value.
InvalidEra(TinyAsciiStr<16>)
The era code of the input is not valid for this calendar.
Same error conditions as FormattedDateTimePatternError::InvalidMonthCode
.
The output will contain the era code as the fallback.
InvalidCyclicYear
The [CyclicYear::year
] of the input is not valid for this calendar.
Same error conditions as FormattedDateTimePatternError::InvalidMonthCode
.
The output will contain [CyclicYear::related_iso
] as a fallback value.
NamesNotLoaded(ErrorField)
The localized names for a field have not been loaded.
Error conditions:
- Unchecked functions: for example, the pattern in
with_pattern_unchecked
contains fields that haven’t been loaded - Trait impls: for example, a custom field set does not include the correct names data
The output will contain fallback values using field identifiers (such as tue
for Weekday::Tuesday
,
M02
for month 2, etc.).
DecimalFormatterNotLoaded
The [DecimalFormatter
] has not been loaded.
Same error conditions as FormattedDateTimePatternError::NamesNotLoaded
.
The output will contain fallback values using Latin numerals.
MissingInputField(MissingInputFieldKind)
An input field (such as “hour” or “month”) is missing.
Error conditions:
- Unchecked functions: for example, the pattern in
with_pattern_unchecked
contains fields that aren’t in the fieldset - Trait impls: for example, a custom field set does not require the correct fields
The output will contain the string {X}
instead, where X
is the symbol for which the input is missing.
UnsupportedField(ErrorField)
The pattern contains a field symbol for which formatting is unsupported.
Error conditions:
- Unchecked functions: for example, the pattern in
with_pattern_unchecked
contains an unsupported field
The output will contain the string {unsupported:X}
, where X
is the symbol of the unsupported field.
UnsupportedLength(ErrorField)
The pattern contains a field that has a valid symbol but invalid length.
Same error conditions as FormattedDateTimePatternError::UnsupportedField
.
The output will contain fallback values similar to FormattedDateTimePatternError::NamesNotLoaded
.
Trait Implementations§
Source§impl Clone for FormattedDateTimePatternError
impl Clone for FormattedDateTimePatternError
Source§fn clone(&self) -> FormattedDateTimePatternError
fn clone(&self) -> FormattedDateTimePatternError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl PartialEq for FormattedDateTimePatternError
impl PartialEq for FormattedDateTimePatternError
Source§fn eq(&self, other: &FormattedDateTimePatternError) -> bool
fn eq(&self, other: &FormattedDateTimePatternError) -> bool
self
and other
values to be equal, and is used by ==
.impl Copy for FormattedDateTimePatternError
impl StructuralPartialEq for FormattedDateTimePatternError
Auto Trait Implementations§
impl Freeze for FormattedDateTimePatternError
impl RefUnwindSafe for FormattedDateTimePatternError
impl Send for FormattedDateTimePatternError
impl Sync for FormattedDateTimePatternError
impl Unpin for FormattedDateTimePatternError
impl UnwindSafe for FormattedDateTimePatternError
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,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more