#![cfg_attr(coverage_nightly, feature(coverage_attribute))]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![cfg_attr(docsrs, doc(hidden))]
#![cfg(windows)]
mod app_command;
mod attach;
mod cli;
mod commands;
mod constants;
mod detect;
mod dispatch;
mod durability;
mod errors;
mod gc;
mod invocation;
mod list_fmt;
mod outbox;
mod output;
mod pal;
mod path_display;
mod protocol;
mod session_id;
mod session_record;
mod supervisor;
mod trace;
mod wall_clock;
pub use app_command::AppCommand;
pub use cli::{Cli, EarlyExit};
pub use dispatch::run;
pub use invocation::{Command, Invocation, Outcome};
pub use session_id::SessionId;
#[cfg_attr(coverage_nightly, coverage(off))]
#[cfg(any(test, feature = "private-test-util"))]
pub mod test_support;
pub(crate) use errors::*;
#[cfg(test)]
#[cfg_attr(coverage_nightly, coverage(off))]
mod tests {
use std::panic::{RefUnwindSafe, UnwindSafe};
use static_assertions::{assert_impl_all, assert_not_impl_any};
use super::*;
assert_impl_all!(Cli: UnwindSafe, RefUnwindSafe);
assert_impl_all!(EarlyExit: UnwindSafe, RefUnwindSafe);
assert_impl_all!(SessionId: UnwindSafe, RefUnwindSafe);
assert_impl_all!(AppCommand: UnwindSafe, RefUnwindSafe);
assert_impl_all!(Command: UnwindSafe, RefUnwindSafe);
assert_impl_all!(Invocation: UnwindSafe, RefUnwindSafe);
assert_impl_all!(Outcome: UnwindSafe, RefUnwindSafe);
assert_not_impl_any!(test_support::ConsoleProcess: UnwindSafe, RefUnwindSafe);
}