pub enum ManifestError {
Toml(Error),
Capability(CapabilityParseError),
EditorCapability(String),
EmptyId,
InvalidId(String),
Seam(String),
}Expand description
Why a manifest failed to parse. Every failure is a value — the host logs + skips a bad manifest (graceful degradation), never panics.
Variants§
Toml(Error)
The TOML itself was malformed or missing a required field.
Capability(CapabilityParseError)
A capabilities entry was not a recognised capability form.
EditorCapability(String)
An editor_capabilities entry was not a recognised editor-capability
name.
EmptyId
The id field was empty — a plugin must have a non-empty id (it keys
the data dir path).
InvalidId(String)
The id field was not a single, safe path component. The id keys the
per-plugin on-disk data dir (joined into a path + mounted WRITABLE into
the guest), so a /, \, ., .., or absolute id would let a crafted
manifest escape its sandbox and write outside the data dir. Rejected.
Seam(String)
A provides entry was not a recognised seam name.
Trait Implementations§
Source§impl Debug for ManifestError
impl Debug for ManifestError
Source§impl Display for ManifestError
impl Display for ManifestError
Source§impl Error for ManifestError
impl Error for ManifestError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<CapabilityParseError> for ManifestError
impl From<CapabilityParseError> for ManifestError
Source§fn from(source: CapabilityParseError) -> Self
fn from(source: CapabilityParseError) -> Self
Auto Trait Implementations§
impl Freeze for ManifestError
impl RefUnwindSafe for ManifestError
impl Send for ManifestError
impl Sync for ManifestError
impl Unpin for ManifestError
impl UnsafeUnpin for ManifestError
impl UnwindSafe for ManifestError
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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> ⓘ
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> ⓘ
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