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", so this trait is not object safe.

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