pub struct CellOutputs(/* private fields */);Expand description
Input: Cell execution outputs.
This input stores the execution status for all cells in a notebook. It is updated after cells are executed, allowing Salsa to track when outputs change.
Uses Arc to efficiently share the potentially large status map
without expensive cloning on every query.
Implementations§
Source§impl CellOutputs
impl CellOutputs
pub fn ingredient(db: &dyn Database) -> &IngredientImpl<Self>
pub fn ingredient_mut( zalsa_mut: &mut Zalsa, ) -> (&mut IngredientImpl<Self>, &mut Runtime)
Source§impl CellOutputs
impl CellOutputs
pub fn new<Db_>( db: &Db_, statuses: Arc<Vec<ExecutionStatus>>, version: u64, ) -> Self
pub fn builder( statuses: Arc<Vec<ExecutionStatus>>, version: u64, ) -> <Self as HasBuilder>::Builder
Sourcepub fn statuses<'db, Db_>(self, db: &'db Db_) -> Arc<Vec<ExecutionStatus>>
pub fn statuses<'db, Db_>(self, db: &'db Db_) -> Arc<Vec<ExecutionStatus>>
Execution status for each cell, indexed by cell ID. Wrapped in Arc for efficient sharing.
Sourcepub fn version<'db, Db_>(self, db: &'db Db_) -> u64
pub fn version<'db, Db_>(self, db: &'db Db_) -> u64
Version counter that increments on any change. Used for quick staleness checks.
pub fn set_statuses<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = Arc<Vec<ExecutionStatus>>> + use<'db, Db_>
pub fn set_version<'db, Db_>( self, db: &'db mut Db_, ) -> impl Setter<FieldTy = u64> + use<'db, Db_>
Sourcepub fn default_debug_fmt(this: Self, f: &mut Formatter<'_>) -> Result
pub fn default_debug_fmt(this: Self, f: &mut Formatter<'_>) -> Result
Default debug formatting for this struct (may be useful if you define your own Debug impl)
Trait Implementations§
Source§impl Clone for CellOutputs
impl Clone for CellOutputs
Source§fn clone(&self) -> CellOutputs
fn clone(&self) -> CellOutputs
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Configuration for CellOutputs
impl Configuration for CellOutputs
const LOCATION: Location
const DEBUG_NAME: &'static str = "CellOutputs"
const FIELD_DEBUG_NAMES: &'static [&'static str]
Source§type Struct = CellOutputs
type Struct = CellOutputs
The input struct (which wraps an
Id)Source§type Fields = (Arc<Vec<ExecutionStatus>>, u64)
type Fields = (Arc<Vec<ExecutionStatus>>, u64)
A (possibly empty) tuple of the fields for this struct.
type Revisions = [Revision; 2]
type Durabilities = [Durability; 2]
Source§fn serialize<S: Serializer>(
fields: &Self::Fields,
serializer: S,
) -> Result<S::Ok, S::Error>
fn serialize<S: Serializer>( fields: &Self::Fields, serializer: S, ) -> Result<S::Ok, S::Error>
Serialize the fields using
serde. Read moreSource§fn deserialize<'de, D: Deserializer<'de>>(
deserializer: D,
) -> Result<Self::Fields, D::Error>
fn deserialize<'de, D: Deserializer<'de>>( deserializer: D, ) -> Result<Self::Fields, D::Error>
Deserialize the fields using
serde. Read moreSource§impl HasJar for CellOutputs
impl HasJar for CellOutputs
Source§impl Hash for CellOutputs
impl Hash for CellOutputs
Source§impl PartialEq for CellOutputs
impl PartialEq for CellOutputs
Source§impl SalsaStructInDb for CellOutputs
impl SalsaStructInDb for CellOutputs
type MemoIngredientMap = MemoIngredientSingletonIndex
Source§fn lookup_ingredient_index(aux: &Zalsa) -> IngredientIndices
fn lookup_ingredient_index(aux: &Zalsa) -> IngredientIndices
Lookup or create ingredient indices. Read more
Source§fn entries(zalsa: &Zalsa) -> impl Iterator<Item = DatabaseKeyIndex> + '_
fn entries(zalsa: &Zalsa) -> impl Iterator<Item = DatabaseKeyIndex> + '_
Returns the IDs of any instances of this struct in the database.
Source§impl Update for CellOutputs
impl Update for CellOutputs
impl Copy for CellOutputs
impl Eq for CellOutputs
impl StructuralPartialEq for CellOutputs
Auto Trait Implementations§
impl Freeze for CellOutputs
impl RefUnwindSafe for CellOutputs
impl Send for CellOutputs
impl Sync for CellOutputs
impl Unpin for CellOutputs
impl UnwindSafe for CellOutputs
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
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§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
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.