pub enum PluginError {
InvalidManifest(String),
NameCollision(String),
TomlParse {
file: PathBuf,
cause: String,
},
InvalidRegex {
file: PathBuf,
pattern: String,
cause: String,
},
WasmLoad {
file: PathBuf,
cause: String,
},
WasmSandboxViolation {
plugin: String,
detail: String,
},
WasmFuelExhausted {
plugin: String,
fuel: u64,
},
Io(Error),
}Expand description
Errors that can occur during plugin loading or execution.
Variants§
InvalidManifest(String)
A required manifest field is missing or invalid.
NameCollision(String)
Two plugins share the same name.
TomlParse
A TOML file could not be parsed.
InvalidRegex
A regex pattern in a TOML tamper is invalid.
WasmLoad
A WASM module failed to load or compile.
WasmSandboxViolation
The WASM module tried to use a disallowed capability.
WasmFuelExhausted
WASM execution ran out of fuel.
Io(Error)
Generic I/O error while scanning the plugin directory.
Trait Implementations§
Source§impl Debug for PluginError
impl Debug for PluginError
Source§impl Display for PluginError
impl Display for PluginError
Source§impl Error for PluginError
impl Error for PluginError
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 !RefUnwindSafe for PluginError
impl !UnwindSafe for PluginError
impl Freeze for PluginError
impl Send for PluginError
impl Sync for PluginError
impl Unpin for PluginError
impl UnsafeUnpin for PluginError
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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