pub struct Notice { /* private fields */ }Expand description
One sentence for the footer, and how long it stays there.
§Why not a timer
A timer is the wrong answer for a report of what was destroyed. A reader who looked away while it counted down has no way to get it back, and the thing it described is not on disk any more — so the one state a countdown leaves them in is “something happened and nothing will say what”. Every lifetime here is therefore a reader’s action rather than a clock.
§Two lifetimes, because the reports differ in what it costs to miss one
passing is an ordinary report — what was removed, what was priced, why a
key did nothing. The next thing the reader does takes it away, because by then it describes
the frame before rather than the one in front of them.
standing names something refused or failed. The safety model collects
those and the run exits non-zero on them, so a sentence that says a directory was left alone
or could not be removed is the only place a reader learns that from — and an arrow key
pressed while reading it must not be what takes it away. Nothing incidental clears one: it
goes when it is dismissed, or when a newer report answers a keystroke the reader has just
made.
Both are dismissed by Esc and by a press on the footer, which is the rung
View::step_back takes first.
Implementations§
Trait Implementations§
impl Eq for Notice
impl StructuralPartialEq for Notice
Auto Trait Implementations§
impl Freeze for Notice
impl RefUnwindSafe for Notice
impl Send for Notice
impl Sync for Notice
impl Unpin for Notice
impl UnsafeUnpin for Notice
impl UnwindSafe for Notice
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more