#[non_exhaustive]pub enum UnanalyzableLaunch {
UnknownOption(EchoedArgument),
MissingValue(EchoedArgument),
MissingCommand,
MalformedOperand(OperandKind),
PathAssignment,
SplitString,
RelativeProgramAfterChdir,
BlankProgram,
}Expand description
Why a launch cannot be analyzed, so untrusted mode cannot tell which program it starts.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
UnknownOption(EchoedArgument)
The wrapper has an option its option table does not list.
MissingValue(EchoedArgument)
A listed option that takes a value is the last argument.
MissingCommand
No command follows the wrapper’s options.
MalformedOperand(OperandKind)
A positional operand before the command is not of the expected shape.
PathAssignment
PATH is assigned, which bypasses the sanitized search path.
SplitString
A string is split into arguments (env -S).
RelativeProgramAfterChdir
A relative program follows a directory change.
BlankProgram
The program name is empty.
Trait Implementations§
Source§impl Clone for UnanalyzableLaunch
impl Clone for UnanalyzableLaunch
Source§impl Debug for UnanalyzableLaunch
impl Debug for UnanalyzableLaunch
Source§impl Display for UnanalyzableLaunch
impl Display for UnanalyzableLaunch
impl Eq for UnanalyzableLaunch
Source§impl PartialEq for UnanalyzableLaunch
impl PartialEq for UnanalyzableLaunch
impl StructuralPartialEq for UnanalyzableLaunch
Auto Trait Implementations§
impl Freeze for UnanalyzableLaunch
impl RefUnwindSafe for UnanalyzableLaunch
impl Send for UnanalyzableLaunch
impl Sync for UnanalyzableLaunch
impl Unpin for UnanalyzableLaunch
impl UnsafeUnpin for UnanalyzableLaunch
impl UnwindSafe for UnanalyzableLaunch
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> 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
Compare self to
key and return true if they are equal.