Struct MigrateError

Source
pub struct MigrateError { /* private fields */ }
Expand description

A generic wrapper when TryFrom::Error is raised on Migration

Acts somewhat like anyhow::Error, to store TryFrom::Error-s as your structs try to migrate. Works with anything that implements std::error::Error.

use magic_migrate::{MigrateError, TryMigrate};


impl magic_migrate::TryMigrate for PersonV2 {
    type TryFrom = PersonV1;
    type Error = MigrateError;

    fn deserializer<'de>(input: &str) -> impl serde::de::Deserializer<'de> {
        toml::Deserializer::new(input)
    }
}

let result: Result<PersonV2, MigrateError> = PersonV2::try_from_str_migrations("name = 'Richard'").unwrap();

Trait Implementations§

Source§

impl AsRef<dyn Error> for MagicError

Source§

fn as_ref(&self) -> &(dyn Error + 'static)

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<dyn Error + Send + Sync> for MagicError

Source§

fn as_ref(&self) -> &(dyn Error + Send + Sync + 'static)

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Debug for MagicError

Source§

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

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

impl Deref for MagicError

Source§

type Target = dyn Error + Send + Sync

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Display for MagicError

Source§

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

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

impl<E> From<E> for MagicError
where E: Error + Send + Sync + 'static,

Source§

fn from(error: E) -> Self

Converts to this type from the input type.
Source§

impl From<MagicError> for Box<dyn Error + 'static>

Source§

fn from(value: MagicError) -> Self

Converts to this type from the input type.
Source§

impl From<MagicError> for Box<dyn Error + Send + 'static>

Source§

fn from(value: MagicError) -> Self

Converts to this type from the input type.
Source§

impl From<MagicError> for Box<dyn Error + Send + Sync + 'static>

Source§

fn from(value: MagicError) -> Self

Converts to this type from the input type.

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> From<!> for T

Source§

fn from(t: !) -> T

Converts to this type from the input type.
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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.