Skip to main content

WithUntracked

Trait WithUntracked 

pub trait WithUntracked: DefinedAt {
    type Value: ?Sized;

    // Required method
    fn try_with_untracked<U>(
        &self,
        fun: impl FnOnce(&Self::Value) -> U,
    ) -> Option<U>;

    // Provided method
    fn with_untracked<U>(&self, fun: impl FnOnce(&Self::Value) -> U) -> U { ... }
}
Expand description

Give read-only access to a signal’s value by reference inside a closure, without tracking the value reactively.

Required Associated Types§

type Value: ?Sized

The type of the value contained in the signal.

Required Methods§

fn try_with_untracked<U>( &self, fun: impl FnOnce(&Self::Value) -> U, ) -> Option<U>

Applies the closure to the value, and returns the result, or None if the signal has already been disposed.

Provided Methods§

fn with_untracked<U>(&self, fun: impl FnOnce(&Self::Value) -> U) -> U

Applies the closure to the value, and returns the result.

§Panics

Panics if you try to access a signal that has been disposed.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

§

impl<T, S> WithUntracked for Model<T, S>
where S: Storage<ArcField<T>> + Storage<SignalTypes<T, S>> + Storage<T>,

§

type Value = T

§

fn try_with_untracked<O>( &self, f: impl FnOnce(&<Model<T, S> as WithUntracked>::Value) -> O, ) -> Option<O>

§

impl<T, S> WithUntracked for ReadModel<T, S>
where S: Storage<ArcField<T>> + Storage<SignalTypes<T, S>> + Storage<T>,

§

type Value = T

§

fn try_with_untracked<U>( &self, fun: impl FnOnce(&<ReadModel<T, S> as WithUntracked>::Value) -> U, ) -> Option<U>

Implementors§

§

impl<T> WithUntracked for T

§

type Value = <<T as ReadUntracked>::Value as Deref>::Target