pub struct UnreachableEntrypoint {
pub binary: String,
pub resolved_path: PathBuf,
pub interpreter: String,
}Expand description
One capabilities.shell.allow entry that resolved to a script whose interpreter’s package
tree nothing declared could reach inside a sealed composed root.
Defined here rather than in [crate::reachability] — which is a pub(crate) module — because
it is a field of a public RuntimeError variant and so has to be nameable by anything that
matches on one (murmur-cli’s CliError conversion, above all).
Fields§
§binary: StringThe capabilities.shell.allow entry, verbatim as the manifest wrote it.
resolved_path: PathBufWhere that entry resolves on this host — the first PATH match, i.e. the one execvp
would run.
interpreter: StringThe bare interpreter name read out of the file’s #! line, with one level of
env NAME indirection resolved. This is the name a covering
interpreter_runtime/staged_runtime grant would have to declare.
Trait Implementations§
Source§impl Clone for UnreachableEntrypoint
impl Clone for UnreachableEntrypoint
Source§impl Debug for UnreachableEntrypoint
impl Debug for UnreachableEntrypoint
Source§impl Display for UnreachableEntrypoint
impl Display for UnreachableEntrypoint
impl Eq for UnreachableEntrypoint
Source§impl PartialEq for UnreachableEntrypoint
impl PartialEq for UnreachableEntrypoint
impl StructuralPartialEq for UnreachableEntrypoint
Auto Trait Implementations§
impl Forget for UnreachableEntrypoint
impl Freeze for UnreachableEntrypoint
impl Move for UnreachableEntrypoint
impl RefUnwindSafe for UnreachableEntrypoint
impl Send for UnreachableEntrypoint
impl Sync for UnreachableEntrypoint
impl Unpin for UnreachableEntrypoint
impl UnsafeUnpin for UnreachableEntrypoint
impl UnwindSafe for UnreachableEntrypoint
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> ⓘ
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