pub enum LoadError {
Open {
path: PathBuf,
message: String,
},
NoEntrySymbol {
path: PathBuf,
symbol: &'static str,
},
Major {
path: PathBuf,
found: u32,
expected: u32,
},
MissingCapability {
path: PathBuf,
capability: &'static str,
},
ShortTable {
path: PathBuf,
capability: &'static str,
found: usize,
expected: usize,
},
}Expand description
A plugin could not be loaded, or does not speak this ABI.
Variants§
Open
The library itself could not be opened: not a dynamic library, wrong architecture, a missing dependency of the plugin’s own.
NoEntrySymbol
The library opened, but exports no entry symbol.
This is the clean failure for “built against a different contract”: the symbol carries the root structure’s layout, so an old host looking for the old name finds nothing instead of reading fields that moved.
Major
The plugin reports a different semantic major version.
Fields
MissingCapability
The plugin does not provide a capability this host cannot work without.
ShortTable
The plugin provides a capability, but its table is smaller than this host knows how to read.
Trait Implementations§
Source§impl Error for LoadError
impl Error for LoadError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
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
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for LoadError
impl RefUnwindSafe for LoadError
impl Send for LoadError
impl Sync for LoadError
impl Unpin for LoadError
impl UnsafeUnpin for LoadError
impl UnwindSafe for LoadError
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
Mutably borrows from an owned value. Read more