#[non_exhaustive]pub enum Change<'a> {
Set {
record: Record<'a>,
effective_app: Option<AppId<'a>>,
},
Remove(Record<'a>),
}Expand description
A change to a current record or its inherited app.
Unchanged reports emit no change, even though they refresh eviction order. An ancestor update can change a child’s effective app without a child report. Keep reports and lifecycle events to reproduce the store’s full history.
Views borrow the store only for the callback. Copy any data you need to retain.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Set
A new record, changed explicit fields, or a changed effective app.
Fields
Remove(Record<'a>)
An old record, delivered before its removal.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Change<'a>
impl<'a> RefUnwindSafe for Change<'a>
impl<'a> Send for Change<'a>
impl<'a> Sync for Change<'a>
impl<'a> Unpin for Change<'a>
impl<'a> UnsafeUnpin for Change<'a>
impl<'a> UnwindSafe for Change<'a>
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
Mutably borrows from an owned value. Read more