Enum FormattedDateTimePatternError

Source
#[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:

  1. Invariants of unchecked functions are not upheld
  2. Invariants of locale data are not upheld
  3. 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
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

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.

Fields

§value: u8

Value

§max: u8

Max

§

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:

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

Source§

fn clone(&self) -> FormattedDateTimePatternError

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FormattedDateTimePatternError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Display for FormattedDateTimePatternError

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl PartialEq for FormattedDateTimePatternError

Source§

fn eq(&self, other: &FormattedDateTimePatternError) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for FormattedDateTimePatternError

Source§

impl StructuralPartialEq for FormattedDateTimePatternError

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ErasedDestructor for T
where T: 'static,