Skip to main content

Error

Enum Error 

Source
#[non_exhaustive]
pub enum Error { Io(Error),
#[non_exhaustive]
InvalidPlist { format: &'static str, source: Option<Box<dyn Error + Send + Sync>>, },
#[non_exhaustive]
Parse { format: &'static str, source: Option<Box<dyn Error + Send + Sync>>, }, UnknownType(&'static str),
#[non_exhaustive]
TypeMismatch { expected: &'static str, found: &'static str, }, MaxDepthExceeded, ParseScalar(String), NoRootElement, NullNotRepresentable, Message(String),
#[non_exhaustive]
FeatureDisabled { format: Format, }, }
Expand description

Errors returned while encoding or decoding a property list.

The enum and its struct-like variants are #[non_exhaustive], so new variants and fields are not breaking changes.

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.
§

Io(Error)

An underlying reader or writer failed.

§

#[non_exhaustive]
InvalidPlist

The input is not recognizable as a property list of format.

This is the only variant that makes the decode ladder fall back from the XML parser to the text parser.

Fields

This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
§format: &'static str

The parser that rejected the input: "XML", "binary", or "text".

§source: Option<Box<dyn Error + Send + Sync>>

The underlying cause, when one exists.

§

#[non_exhaustive]
Parse

The input was recognized as format but failed to parse. Never triggers the XML-to-text fallback.

Fields

This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
§format: &'static str

The parser that failed: "XML", "binary", or "text".

§source: Option<Box<dyn Error + Send + Sync>>

The underlying cause, when one exists.

§

UnknownType(&'static str)

A value of this type cannot be represented in a property list.

§

#[non_exhaustive]
TypeMismatch

A property-list value cannot decode into the requested target type.

Fields

This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
§expected: &'static str

A description of the requested target type.

§found: &'static str

The property-list type name that was found.

§

MaxDepthExceeded

Nesting exceeded MAX_PARSE_DEPTH while parsing — the input is too deeply nested to process safely.

§

ParseScalar(String)

A scalar literal failed to parse (integer, real, boolean, or date).

§

NoRootElement

Encoding produced no root element to write.

§

NullNotRepresentable

A null value reached a position where property lists cannot express it.

§

Message(String)

A free-form message, used by serde Error::custom and similar.

§

#[non_exhaustive]
FeatureDisabled

The requested output format is behind a cargo feature that is not enabled in this build.

Fields

This variant is marked as non-exhaustive
Non-exhaustive enum variants could have additional fields added in future. Therefore, non-exhaustive enum variants cannot be constructed in external crates and cannot be matched against.
§format: Format

The format whose codec is compiled out.

Trait Implementations§

Source§

impl Debug for Error

Source§

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

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

impl Display for Error

Source§

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

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

impl Error for Error

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl Error for Error

Available on crate feature serde only.
Source§

fn custom<T: Display>(msg: T) -> Self

Used when a Serialize implementation encounters any error while serializing a type. Read more
Source§

impl Error for Error

Available on crate feature serde only.
Source§

fn custom<T: Display>(msg: T) -> Self

Raised when there is general error when deserializing a type. Read more
Source§

fn invalid_type(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self

Raised when a Deserialize receives a type different from what it was expecting. Read more
Source§

fn invalid_value(unexp: Unexpected<'_>, exp: &dyn Expected) -> Self

Raised when a Deserialize receives a value of the right type but that is wrong for some other reason. Read more
Source§

fn invalid_length(len: usize, exp: &dyn Expected) -> Self

Raised when deserializing a sequence or map and the input data contains too many or too few elements. Read more
Source§

fn unknown_variant(variant: &str, expected: &'static [&'static str]) -> Self

Raised when a Deserialize enum type received a variant with an unrecognized name.
Source§

fn unknown_field(field: &str, expected: &'static [&'static str]) -> Self

Raised when a Deserialize struct type received a field with an unrecognized name.
Source§

fn missing_field(field: &'static str) -> Self

Raised when a Deserialize struct type expected to receive a required field with a particular name but that field was not present in the input.
Source§

fn duplicate_field(field: &'static str) -> Self

Raised when a Deserialize struct type received more than one of the same field.
Source§

impl From<Error> for Error

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Error

§

impl !UnwindSafe for Error

§

impl Freeze for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnsafeUnpin for Error

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> 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> 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.