mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-08 12:46:42 +01:00
20 lines
441 B
Rust
20 lines
441 B
Rust
pub trait Exit: Send {
|
|
fn exited (&self) -> bool;
|
|
fn exit (&mut self);
|
|
fn boxed (self) -> Box<dyn Exit> where Self: Sized + 'static {
|
|
Box::new(self)
|
|
}
|
|
}
|
|
|
|
#[macro_export] macro_rules! exit {
|
|
($T:ty) => {
|
|
impl Exit for $T {
|
|
fn exited (&self) -> bool {
|
|
self.exited
|
|
}
|
|
fn exit (&mut self) {
|
|
self.exited = true
|
|
}
|
|
}
|
|
}
|
|
}
|