pub struct PtyExitStatus {
pub success: bool,
pub exit_code: Option<u32>,
pub signal: Option<String>,
}Expand description
Backend-reported process completion.
Public construction/deserialization does not enforce consistency: successful
status may carry a nonzero code or signal, and failure may carry code zero or
no detail. Consumers should prefer success as the declared outcome and treat
the optional fields as backend metadata.
§Examples
use ailloli_ui_terminal_pty::PtyExitStatus;
assert_eq!(PtyExitStatus::success(0).exit_code, Some(0));
assert!(!PtyExitStatus::failure(None, Some("SIGTERM".into())).success);Fields§
§success: boolBackend-declared success flag.
exit_code: Option<u32>Unsigned process exit code, or None when unavailable/signal-only.
signal: Option<String>Backend/platform signal description, or None when absent.
Implementations§
Source§impl PtyExitStatus
impl PtyExitStatus
Sourcepub fn success(exit_code: u32) -> Self
pub fn success(exit_code: u32) -> Self
Creates a successful status with the exact supplied code.
No check requires exit_code == 0.
§Examples
use ailloli_ui_terminal_pty::PtyExitStatus;
let status = PtyExitStatus::success(7);
assert!(status.success);
assert_eq!(status.exit_code, Some(7));Sourcepub fn failure(exit_code: Option<u32>, signal: Option<String>) -> Self
pub fn failure(exit_code: Option<u32>, signal: Option<String>) -> Self
Creates a failure with optional code and signal stored verbatim.
Both values may be absent, and code zero is accepted.
§Examples
use ailloli_ui_terminal_pty::PtyExitStatus;
let status = PtyExitStatus::failure(Some(1), None);
assert!(!status.success);
assert_eq!((status.exit_code, status.signal), (Some(1), None));Trait Implementations§
Source§impl Clone for PtyExitStatus
impl Clone for PtyExitStatus
Source§fn clone(&self) -> PtyExitStatus
fn clone(&self) -> PtyExitStatus
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PtyExitStatus
impl Debug for PtyExitStatus
Source§impl<'de> Deserialize<'de> for PtyExitStatus
impl<'de> Deserialize<'de> for PtyExitStatus
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for PtyExitStatus
impl PartialEq for PtyExitStatus
Source§impl Serialize for PtyExitStatus
impl Serialize for PtyExitStatus
impl Eq for PtyExitStatus
impl StructuralPartialEq for PtyExitStatus
Auto Trait Implementations§
impl Freeze for PtyExitStatus
impl RefUnwindSafe for PtyExitStatus
impl Send for PtyExitStatus
impl Sync for PtyExitStatus
impl Unpin for PtyExitStatus
impl UnwindSafe for PtyExitStatus
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,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.