pub trait Standing {
// Required methods
fn show(&self, sessions: &[Listed], troubles: &[Trouble], mood: Mood);
fn taken(&self) -> Vec<Chosen>;
// Provided method
fn holding(&self) -> bool { ... }
}Expand description
The standing list of what is open.
Concept 12 gives this a tray icon on Windows, a menu bar item on macOS and
the command line on Linux — which is why doing nothing is a complete
implementation and Nowhere is one. Concept 9 says the tray joins later
without the engine noticing, and not noticing is what this trait is for: the
loop hands it lines it was going to format anyway and asks what came back.
Required Methods§
Provided Methods§
Sourcefn holding(&self) -> bool
fn holding(&self) -> bool
Whether this surface is itself a reason for the instance to stay.
A standing list stands until it is dismissed, and that supersedes concept 8’s exit rule wherever there is one. The rule ends an instance when no session, no lingering session and no unanswered question remain, which was right while the process had no face: there was nothing for it to be, so there was no reason for it to be. An icon changes that. It is where a warning lives, and a warning that appears in a process already on its way out has nowhere to go but a notification somebody may never see — which is the whole reason the colours exist.
The cost, said plainly: open one container and a background process stays until it is asked to leave. That is the bargain every sync client makes, and the icon is what turns it from a surprise into a bargain.
Where a terminal started this there is no icon, by crate::present’s
own rule that the command line is the floor — so that invocation keeps
concept 8 exactly as written, and open at a prompt still returns.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".