[][src]Enum abi_stable::library::LibraryError

pub enum LibraryError {
    OpenError {
        path: PathBuf,
        io: Error,
    },
    GetSymbolError {
        library: &'static Path,
        symbol: Vec<u8>,
        io: Error,
    },
    ParseVersionError(ParseVersionError),
    IncompatibleVersionNumber {
        library_name: &'static str,
        expected_version: VersionNumber,
        actual_version: VersionNumber,
    },
    AbiInstability(RBoxError),
    InvalidMagicNumber(usize),
    Many(RVec<Self>),
}

All the possible errors that could happen when loading a library, or a module.

Variants

OpenError

When a library can't be loaded, because it doesn't exist.

Fields of OpenError

path: PathBufio: Error
GetSymbolError

When a function/static does not exist.

Fields of GetSymbolError

library: &'static Pathsymbol: Vec<u8>

The name of the function/static.Does not have to be utf-8.

io: Error
ParseVersionError(ParseVersionError)

The version string could not be parsed into a version number.

IncompatibleVersionNumber

The version numbers of the library was incompatible.

Fields of IncompatibleVersionNumber

library_name: &'static strexpected_version: VersionNumberactual_version: VersionNumber
AbiInstability(RBoxError)

The abi is incompatible. The error is opaque,since the error always comes from the main binary (dynamic libraries can be loaded from other dynamic libraries), and no approach for extensible enums is settled on yet.

InvalidMagicNumber(usize)

The magic number used to check that this is a compatible abi_stable is not the same.

Many(RVec<Self>)

There could have been 0 or more errors in the function.

Trait Implementations

impl From<ParseVersionError> for LibraryError[src]

impl Display for LibraryError[src]

impl Debug for LibraryError[src]

impl Error for LibraryError[src]

fn description(&self) -> &str
1.0.0
[src]

This method is soft-deprecated. Read more

fn cause(&self) -> Option<&dyn Error>
1.0.0
[src]

Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

The lower-level cause of this error, if any. Read more

fn source(&self) -> Option<&(dyn Error + 'static)>
1.30.0
[src]

The lower-level source of this error, if any. Read more

fn type_id(&self) -> TypeId where
    Self: 'static, 
1.34.0
[src]

Gets the TypeId of self

Auto Trait Implementations

Blanket Implementations

impl<T> MakeGetAbiInfo for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> TypeIdentity for T where
    T: ?Sized
[src]

type Type = T

The same type as Self. Read more

fn into_type_val(self) -> Self::Type where
    Self::Type: Sized
[src]

Converts a value back to the original type.

fn into_type_ref(&self) -> &Self::Type[src]

Converts a reference back to the original type.

fn into_type_mut(&mut self) -> &mut Self::Type[src]

Converts a mutable reference back to the original type.

fn into_type_box(self: Box<Self>) -> Box<Self::Type>[src]

Converts a box back to the original type.

fn into_type_arc(this: Arc<Self>) -> Arc<Self::Type>[src]

Converts an Arc back to the original type.

fn into_type_rc(this: Rc<Self>) -> Rc<Self::Type>[src]

Converts an Rc back to the original type.

fn from_type_val(this: Self::Type) -> Self where
    Self::Type: Sized
[src]

Converts a value back to the original type.

fn from_type_ref(this: &Self::Type) -> &Self[src]

Converts a reference back to the original type.

fn from_type_mut(this: &mut Self::Type) -> &mut Self[src]

Converts a mutable reference back to the original type.

fn from_type_box(this: Box<Self::Type>) -> Box<Self>[src]

Converts a box back to the original type.

fn from_type_arc(this: Arc<Self::Type>) -> Arc<Self>[src]

Converts an Arc back to the original type.

fn from_type_rc(this: Rc<Self::Type>) -> Rc<Self>[src]

Converts an Rc back to the original type.

impl<T> SelfOps for T where
    T: ?Sized
[src]

const T: PhantomData<fn() -> Self>[src]

Represents Self by using a VariantPhantom, using the syntax Type::T to pass it in methods with _:VariantPhantom<T> parameters. Read more

const T_D: PhantomData<Self>[src]

Represents Self by using a VariantDropPhantom,for specialized cases. Read more

fn assert_ty(self, _other: PhantomData<fn() -> Self>) -> Self[src]

Asserts that other is the same type as self.

fn assert_ty_ref(&self, _other: PhantomData<fn() -> Self>) -> &Self[src]

Asserts that other is the same type as self.

fn assert_ty_mut(&mut self, _other: PhantomData<fn() -> Self>) -> &mut Self[src]

Asserts that other is the same type as self.

fn ty_(&self) -> PhantomData<fn() -> Self>[src]

Equivalent to SelfOps::T,as a method. Read more

fn ty_d(&self) -> PhantomData<Self>[src]

Equivalent to [Self::ty_],for specialized cases. Read more

fn ty_inv(&self) -> PhantomData<fn(Self) -> Self>[src]

Equivalent to [Self::ty_] with an invariant type.

fn ty_inv_ref(&self) -> PhantomData<Cell<&Self>>[src]

Equivalent to [Self::ty_] with an invariant lifetime.

fn eq_id(&self, other: &Self) -> bool[src]

Identity comparison to another value of the same type. Read more

fn piped<F, U>(self, f: F) -> U where
    F: FnOnce(Self) -> U, 
[src]

Emulates the pipeline operator,allowing method syntax in more places. Read more

fn piped_ref<'a, F, U>(&'a self, f: F) -> U where
    F: FnOnce(&'a Self) -> U, 
[src]

The same as piped except that the function takes &Self Useful for functions that take &Self instead of Self. Read more

fn piped_mut<'a, F, U>(&'a mut self, f: F) -> U where
    F: FnOnce(&'a mut Self) -> U, 
[src]

The same as piped except that the function takes &mut Self. Useful for functions that take &mut Self instead of Self. Read more

fn mutated<F>(self, f: F) -> Self where
    F: FnOnce(&mut Self), 
[src]

Mutates self using a closure taking self by mutable reference, passing it along the method chain. Read more

fn observe<F>(self, f: F) -> Self where
    F: FnOnce(&Self), 
[src]

Observes the value of self passing it along unmodified. Useful in a long method chain. Read more

fn into_<T>(self, PhantomData<fn() -> T>) -> T where
    Self: Into<T>, 
[src]

Performs a conversion using Into. Read more

fn as_ref_<T>(&self) -> &T where
    Self: AsRef<T>,
    T: ?Sized
[src]

Performs a reference to reference conversion using AsRef, using the turbofish .as_ref_::<_>() syntax. Read more

fn as_mut_<T>(&mut self) -> &mut T where
    Self: AsMut<T>,
    T: ?Sized
[src]

Performs a mutable reference to mutable reference conversion using AsMut, using the turbofish .as_mut_::<_>() syntax. Read more

fn drop_(self)[src]

Drops self using method notation. Alternative to std::mem::drop. Read more

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

The error type returned when the conversion fails.

impl<T> Erased for T