pub fn terminate_with_abort(&mut self, abort_info: AbortInfo) {
        if cfg!(debug_assertions) {
            assert!(!self.is_terminated());
        }
        let info = match &self.termination {
            TerminationStatus::None => {
                // no prior aborts has been seen, and no abort action attached
                abort_info
            }
            TerminationStatus::PostAbort(original_info) => {
                // re-abort, make sure we are aborting with the same status code
                if cfg!(debug_assertions) {
                    assert_eq!(
                        original_info.get_status_code(),
                        abort_info.get_status_code()
                    );
                }
                original_info.clone()
            }
            _ => unreachable!(),
        };
        self.termination = TerminationStatus::Abort(info);
    }
/// Mark that the current function terminated with an abort
Mark that the current function terminated with an abort
Mark that the current function terminated with an abort
pub fn terminate_with_abort(&mut self, abort_info: AbortInfo) {
        if cfg!(debug_assertions) {
            assert!(!self.is_terminated());
        }
        let info = match &self.termination {
            TerminationStatus::None => {
                // no prior aborts has been seen, and no abort action attached
                abort_info
            }
            TerminationStatus::PostAbort(original_info) => {
                // re-abort, make sure we are aborting with the same status code
                if cfg!(debug_assertions) {
                    assert_eq!(
                        original_info.get_status_code(),
                        abort_info.get_status_code()
                    );
                }
                original_info.clone()
            }
            _ => unreachable!(),
        };
        self.termination = TerminationStatus::Abort(info);
    }
pub fn terminate_with_abort ( & mut self , abort_info : AbortInfo ) { if cfg ! ( debug_assertions ) { assert ! ( self is_terminated ( ) ) ; } let info = match & self . termination { TerminationStatus :: None => { // no prior aborts has been seen, and no abort action attached abort_info } TerminationStatus :: PostAbort ( original_info ) => { // re-abort, make sure we are aborting with the same status code if cfg ! ( debug_assertions ) { assert_eq ! ( original_info get_status_code ( ) abort_info get_status_code ( ) ) ; } original_info . clone ( ) } _ => unreachable ! ( ) , } ; self . termination = TerminationStatus :: Abort ( info ) ; }
Mark that the current function terminated with an abort
Mark that the current function terminated with an abort
&mut self
abort_info
AbortInfo