pub struct Signal<T, S = SyncStorage>where
S: Storage<T>,{ /* private fields */ }
Expand description
A wrapper for any kind of arena-allocated reactive signal:
an ReadSignal
, Memo
, RwSignal
, or derived signal closure.
This allows you to create APIs that take any kind of Signal<T>
as an argument,
rather than adding a generic F: Fn() -> T
. Values can be access with the same
function call, with()
, and get()
APIs as other signals.
Implementations§
Source§impl<T> Signal<T>
impl<T> Signal<T>
Sourcepub fn derive(
derived_signal: impl Fn() -> T + Send + Sync + 'static,
) -> Signal<T>
pub fn derive( derived_signal: impl Fn() -> T + Send + Sync + 'static, ) -> Signal<T>
Wraps a derived signal, i.e., any computation that accesses one or more reactive signals.
let (count, set_count) = signal(2);
let double_count = Signal::derive(move || count.get() * 2);
// this function takes any kind of wrapped signal
fn above_3(arg: &Signal<i32>) -> bool {
arg.get() > 3
}
assert_eq!(above_3(&count.into()), false);
assert_eq!(above_3(&double_count), true);
Sourcepub fn stored(value: T) -> Signal<T>
pub fn stored(value: T) -> Signal<T>
Moves a static, nonreactive value into a signal, backed by ArcStoredValue
.
Source§impl<T> Signal<T, LocalStorage>where
T: 'static,
impl<T> Signal<T, LocalStorage>where
T: 'static,
Sourcepub fn derive_local(
derived_signal: impl Fn() -> T + 'static,
) -> Signal<T, LocalStorage>
pub fn derive_local( derived_signal: impl Fn() -> T + 'static, ) -> Signal<T, LocalStorage>
Wraps a derived signal. Works like Signal::derive
but uses LocalStorage
.
Sourcepub fn stored_local(value: T) -> Signal<T, LocalStorage>
pub fn stored_local(value: T) -> Signal<T, LocalStorage>
Moves a static, nonreactive value into a signal, backed by ArcStoredValue
.
Works like Signal::stored
but uses LocalStorage
.
Trait Implementations§
Source§impl<V, S> AddAnyAttr for Signal<V, S>
impl<V, S> AddAnyAttr for Signal<V, S>
Source§impl<V, S> AttributeValue for Signal<V, S>
impl<V, S> AttributeValue for Signal<V, S>
Source§type AsyncOutput = Signal<V, S>
type AsyncOutput = Signal<V, S>
Source§type State = RenderEffect<<V as AttributeValue>::State>
type State = RenderEffect<<V as AttributeValue>::State>
Source§type Cloneable = Signal<V, S>
type Cloneable = Signal<V, S>
FnMut()
continues mutating the same
closure), but making a String
cloneable does not necessarily need to make it an
Arc<str>
, as two different clones of a String
will still have the same value.Source§type CloneableOwned = Signal<V, S>
type CloneableOwned = Signal<V, S>
'static
. This is used for spreading across types when the
spreadable attribute needs to be owned. In some cases (&'a str
to Arc<str>
, etc.) the owned
cloneable type has worse performance than the cloneable type, so they are separate.Source§fn to_template(_key: &str, _buf: &mut String)
fn to_template(_key: &str, _buf: &mut String)
<template>
.Source§fn hydrate<const FROM_SERVER: bool>(
self,
key: &str,
el: &Element,
) -> <Signal<V, S> as AttributeValue>::State
fn hydrate<const FROM_SERVER: bool>( self, key: &str, el: &Element, ) -> <Signal<V, S> as AttributeValue>::State
<template>
.Source§fn build(
self,
el: &Element,
key: &str,
) -> <Signal<V, S> as AttributeValue>::State
fn build( self, el: &Element, key: &str, ) -> <Signal<V, S> as AttributeValue>::State
Source§fn rebuild(self, key: &str, state: &mut <Signal<V, S> as AttributeValue>::State)
fn rebuild(self, key: &str, state: &mut <Signal<V, S> as AttributeValue>::State)
Source§fn into_cloneable(self) -> <Signal<V, S> as AttributeValue>::Cloneable
fn into_cloneable(self) -> <Signal<V, S> as AttributeValue>::Cloneable
Source§fn into_cloneable_owned(
self,
) -> <Signal<V, S> as AttributeValue>::CloneableOwned
fn into_cloneable_owned( self, ) -> <Signal<V, S> as AttributeValue>::CloneableOwned
'static
.Source§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
Source§async fn resolve(self) -> <Signal<V, S> as AttributeValue>::AsyncOutput
async fn resolve(self) -> <Signal<V, S> as AttributeValue>::AsyncOutput
Source§impl<T, S> DefinedAt for Signal<T, S>where
S: Storage<T>,
impl<T, S> DefinedAt for Signal<T, S>where
S: Storage<T>,
Source§fn defined_at(&self) -> Option<&'static Location<'static>>
fn defined_at(&self) -> Option<&'static Location<'static>>
None
in
release mode.Source§impl<T> From<ArcMemo<T, LocalStorage>> for Signal<T, LocalStorage>
impl<T> From<ArcMemo<T, LocalStorage>> for Signal<T, LocalStorage>
Source§fn from(value: ArcMemo<T, LocalStorage>) -> Signal<T, LocalStorage>
fn from(value: ArcMemo<T, LocalStorage>) -> Signal<T, LocalStorage>
Source§impl<T> From<ArcReadSignal<T>> for Signal<T>
impl<T> From<ArcReadSignal<T>> for Signal<T>
Source§fn from(value: ArcReadSignal<T>) -> Signal<T>
fn from(value: ArcReadSignal<T>) -> Signal<T>
Source§impl<T> From<ArcReadSignal<T>> for Signal<T, LocalStorage>
impl<T> From<ArcReadSignal<T>> for Signal<T, LocalStorage>
Source§fn from(value: ArcReadSignal<T>) -> Signal<T, LocalStorage>
fn from(value: ArcReadSignal<T>) -> Signal<T, LocalStorage>
Source§impl<T> From<ArcRwSignal<T>> for Signal<T>
impl<T> From<ArcRwSignal<T>> for Signal<T>
Source§fn from(value: ArcRwSignal<T>) -> Signal<T>
fn from(value: ArcRwSignal<T>) -> Signal<T>
Source§impl<T> From<ArcRwSignal<T>> for Signal<T, LocalStorage>
impl<T> From<ArcRwSignal<T>> for Signal<T, LocalStorage>
Source§fn from(value: ArcRwSignal<T>) -> Signal<T, LocalStorage>
fn from(value: ArcRwSignal<T>) -> Signal<T, LocalStorage>
Source§impl<T> From<MaybeSignal<T>> for Signal<T>
impl<T> From<MaybeSignal<T>> for Signal<T>
Source§fn from(value: MaybeSignal<T>) -> Signal<T>
fn from(value: MaybeSignal<T>) -> Signal<T>
Source§impl<T> From<MaybeSignal<T, LocalStorage>> for Signal<Option<T>, LocalStorage>
impl<T> From<MaybeSignal<T, LocalStorage>> for Signal<Option<T>, LocalStorage>
Source§fn from(value: MaybeSignal<T, LocalStorage>) -> Signal<Option<T>, LocalStorage>
fn from(value: MaybeSignal<T, LocalStorage>) -> Signal<Option<T>, LocalStorage>
Source§impl<T> From<MaybeSignal<T, LocalStorage>> for Signal<T, LocalStorage>
impl<T> From<MaybeSignal<T, LocalStorage>> for Signal<T, LocalStorage>
Source§fn from(value: MaybeSignal<T, LocalStorage>) -> Signal<T, LocalStorage>
fn from(value: MaybeSignal<T, LocalStorage>) -> Signal<T, LocalStorage>
Source§impl<T> From<Memo<T, LocalStorage>> for Signal<T, LocalStorage>where
T: 'static,
impl<T> From<Memo<T, LocalStorage>> for Signal<T, LocalStorage>where
T: 'static,
Source§fn from(value: Memo<T, LocalStorage>) -> Signal<T, LocalStorage>
fn from(value: Memo<T, LocalStorage>) -> Signal<T, LocalStorage>
Source§impl<T> From<ReadSignal<T>> for Signal<T>
impl<T> From<ReadSignal<T>> for Signal<T>
Source§fn from(value: ReadSignal<T>) -> Signal<T>
fn from(value: ReadSignal<T>) -> Signal<T>
Source§impl<T> From<ReadSignal<T, LocalStorage>> for Signal<T, LocalStorage>where
T: 'static,
impl<T> From<ReadSignal<T, LocalStorage>> for Signal<T, LocalStorage>where
T: 'static,
Source§fn from(value: ReadSignal<T, LocalStorage>) -> Signal<T, LocalStorage>
fn from(value: ReadSignal<T, LocalStorage>) -> Signal<T, LocalStorage>
Source§impl<T> From<RwSignal<T, LocalStorage>> for Signal<T, LocalStorage>where
T: 'static,
impl<T> From<RwSignal<T, LocalStorage>> for Signal<T, LocalStorage>where
T: 'static,
Source§fn from(value: RwSignal<T, LocalStorage>) -> Signal<T, LocalStorage>
fn from(value: RwSignal<T, LocalStorage>) -> Signal<T, LocalStorage>
Source§impl<T> From<Signal<Option<T>, LocalStorage>> for MaybeProp<T, LocalStorage>
impl<T> From<Signal<Option<T>, LocalStorage>> for MaybeProp<T, LocalStorage>
Source§fn from(value: Signal<Option<T>, LocalStorage>) -> MaybeProp<T, LocalStorage>
fn from(value: Signal<Option<T>, LocalStorage>) -> MaybeProp<T, LocalStorage>
Source§impl<T> From<Signal<T, LocalStorage>> for MaybeProp<T, LocalStorage>
impl<T> From<Signal<T, LocalStorage>> for MaybeProp<T, LocalStorage>
Source§fn from(value: Signal<T, LocalStorage>) -> MaybeProp<T, LocalStorage>
fn from(value: Signal<T, LocalStorage>) -> MaybeProp<T, LocalStorage>
Source§impl<T> From<Signal<T, LocalStorage>> for Signal<Option<T>, LocalStorage>where
T: Clone + 'static,
impl<T> From<Signal<T, LocalStorage>> for Signal<Option<T>, LocalStorage>where
T: Clone + 'static,
Source§fn from(value: Signal<T, LocalStorage>) -> Signal<Option<T>, LocalStorage>
fn from(value: Signal<T, LocalStorage>) -> Signal<Option<T>, LocalStorage>
Source§impl<T, S> From<Signal<T, S>> for MaybeSignal<T, S>where
S: Storage<T>,
impl<T, S> From<Signal<T, S>> for MaybeSignal<T, S>where
S: Storage<T>,
Source§fn from(value: Signal<T, S>) -> MaybeSignal<T, S>
fn from(value: Signal<T, S>) -> MaybeSignal<T, S>
Source§impl<T> From<T> for Signal<T, LocalStorage>where
T: 'static,
impl<T> From<T> for Signal<T, LocalStorage>where
T: 'static,
Source§fn from(value: T) -> Signal<T, LocalStorage>
fn from(value: T) -> Signal<T, LocalStorage>
Source§impl<T> FromLocal<ArcSignal<T, LocalStorage>> for Signal<T, LocalStorage>where
T: 'static,
impl<T> FromLocal<ArcSignal<T, LocalStorage>> for Signal<T, LocalStorage>where
T: 'static,
Source§fn from_local(value: ArcSignal<T, LocalStorage>) -> Signal<T, LocalStorage>
fn from_local(value: ArcSignal<T, LocalStorage>) -> Signal<T, LocalStorage>
Source§impl<V, S> InnerHtmlValue for Signal<V, S>
impl<V, S> InnerHtmlValue for Signal<V, S>
Source§type AsyncOutput = Signal<V, S>
type AsyncOutput = Signal<V, S>
Source§type State = RenderEffect<<V as InnerHtmlValue>::State>
type State = RenderEffect<<V as InnerHtmlValue>::State>
Source§type CloneableOwned = Signal<V, S>
type CloneableOwned = Signal<V, S>
'static
.Source§fn to_template(_buf: &mut String)
fn to_template(_buf: &mut String)
<template>
.Source§fn hydrate<const FROM_SERVER: bool>(
self,
el: &Element,
) -> <Signal<V, S> as InnerHtmlValue>::State
fn hydrate<const FROM_SERVER: bool>( self, el: &Element, ) -> <Signal<V, S> as InnerHtmlValue>::State
<template>
.Source§fn build(self, el: &Element) -> <Signal<V, S> as InnerHtmlValue>::State
fn build(self, el: &Element) -> <Signal<V, S> as InnerHtmlValue>::State
Source§fn into_cloneable(self) -> <Signal<V, S> as InnerHtmlValue>::Cloneable
fn into_cloneable(self) -> <Signal<V, S> as InnerHtmlValue>::Cloneable
Source§fn into_cloneable_owned(
self,
) -> <Signal<V, S> as InnerHtmlValue>::CloneableOwned
fn into_cloneable_owned( self, ) -> <Signal<V, S> as InnerHtmlValue>::CloneableOwned
Source§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
Source§async fn resolve(self) -> <Signal<V, S> as InnerHtmlValue>::AsyncOutput
async fn resolve(self) -> <Signal<V, S> as InnerHtmlValue>::AsyncOutput
Source§impl<C, S> IntoClass for Signal<C, S>
impl<C, S> IntoClass for Signal<C, S>
Source§type AsyncOutput = Signal<C, S>
type AsyncOutput = Signal<C, S>
Source§type State = RenderEffect<<C as IntoClass>::State>
type State = RenderEffect<<C as IntoClass>::State>
Source§type CloneableOwned = Signal<C, S>
type CloneableOwned = Signal<C, S>
'static
.Source§fn hydrate<const FROM_SERVER: bool>(
self,
el: &Element,
) -> <Signal<C, S> as IntoClass>::State
fn hydrate<const FROM_SERVER: bool>( self, el: &Element, ) -> <Signal<C, S> as IntoClass>::State
<template>
.Source§fn build(self, el: &Element) -> <Signal<C, S> as IntoClass>::State
fn build(self, el: &Element) -> <Signal<C, S> as IntoClass>::State
Source§fn into_cloneable(self) -> <Signal<C, S> as IntoClass>::Cloneable
fn into_cloneable(self) -> <Signal<C, S> as IntoClass>::Cloneable
Source§fn into_cloneable_owned(self) -> <Signal<C, S> as IntoClass>::CloneableOwned
fn into_cloneable_owned(self) -> <Signal<C, S> as IntoClass>::CloneableOwned
Source§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
Source§async fn resolve(self) -> <Signal<C, S> as IntoClass>::AsyncOutput
async fn resolve(self) -> <Signal<C, S> as IntoClass>::AsyncOutput
Source§fn reset(state: &mut <Signal<C, S> as IntoClass>::State)
fn reset(state: &mut <Signal<C, S> as IntoClass>::State)
Source§const MIN_LENGTH: usize = _
const MIN_LENGTH: usize = _
Source§fn to_template(class: &mut String)
fn to_template(class: &mut String)
<template>
.Source§impl<V, S> IntoProperty for Signal<V, S>
impl<V, S> IntoProperty for Signal<V, S>
Source§type State = RenderEffect<<V as IntoProperty>::State>
type State = RenderEffect<<V as IntoProperty>::State>
Source§type CloneableOwned = Signal<V, S>
type CloneableOwned = Signal<V, S>
'static
.Source§fn hydrate<const FROM_SERVER: bool>(
self,
el: &Element,
key: &str,
) -> <Signal<V, S> as IntoProperty>::State
fn hydrate<const FROM_SERVER: bool>( self, el: &Element, key: &str, ) -> <Signal<V, S> as IntoProperty>::State
Source§fn build(self, el: &Element, key: &str) -> <Signal<V, S> as IntoProperty>::State
fn build(self, el: &Element, key: &str) -> <Signal<V, S> as IntoProperty>::State
Source§fn rebuild(self, state: &mut <Signal<V, S> as IntoProperty>::State, key: &str)
fn rebuild(self, state: &mut <Signal<V, S> as IntoProperty>::State, key: &str)
Source§fn into_cloneable(self) -> <Signal<V, S> as IntoProperty>::Cloneable
fn into_cloneable(self) -> <Signal<V, S> as IntoProperty>::Cloneable
Source§fn into_cloneable_owned(self) -> <Signal<V, S> as IntoProperty>::CloneableOwned
fn into_cloneable_owned(self) -> <Signal<V, S> as IntoProperty>::CloneableOwned
Source§impl<C, S> IntoStyle for Signal<C, S>
impl<C, S> IntoStyle for Signal<C, S>
Source§type AsyncOutput = Signal<C, S>
type AsyncOutput = Signal<C, S>
Source§type State = RenderEffect<<C as IntoStyle>::State>
type State = RenderEffect<<C as IntoStyle>::State>
Source§type CloneableOwned = Signal<C, S>
type CloneableOwned = Signal<C, S>
'static
.Source§fn hydrate<const FROM_SERVER: bool>(
self,
el: &Element,
) -> <Signal<C, S> as IntoStyle>::State
fn hydrate<const FROM_SERVER: bool>( self, el: &Element, ) -> <Signal<C, S> as IntoStyle>::State
<template>
.Source§fn build(self, el: &Element) -> <Signal<C, S> as IntoStyle>::State
fn build(self, el: &Element) -> <Signal<C, S> as IntoStyle>::State
Source§fn into_cloneable(self) -> <Signal<C, S> as IntoStyle>::Cloneable
fn into_cloneable(self) -> <Signal<C, S> as IntoStyle>::Cloneable
Source§fn into_cloneable_owned(self) -> <Signal<C, S> as IntoStyle>::CloneableOwned
fn into_cloneable_owned(self) -> <Signal<C, S> as IntoStyle>::CloneableOwned
Source§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
Source§impl<T, S> ReadUntracked for Signal<T, S>
impl<T, S> ReadUntracked for Signal<T, S>
Source§fn custom_try_read(
&self,
) -> Option<Option<<Signal<T, S> as ReadUntracked>::Value>>
fn custom_try_read( &self, ) -> Option<Option<<Signal<T, S> as ReadUntracked>::Value>>
Overriding the default auto implemented Read::try_read
to combine read and track,
to avoid 2 clones and just have 1 in the SignalTypes::DerivedSignal
.
Source§type Value = ReadGuard<T, SignalReadGuard<T, S>>
type Value = ReadGuard<T, SignalReadGuard<T, S>>
Source§fn try_read_untracked(&self) -> Option<<Signal<T, S> as ReadUntracked>::Value>
fn try_read_untracked(&self) -> Option<<Signal<T, S> as ReadUntracked>::Value>
None
if the signal has already been disposed.Source§fn read_untracked(&self) -> Self::Value
fn read_untracked(&self) -> Self::Value
Source§impl<V, S> Render for Signal<V, S>
impl<V, S> Render for Signal<V, S>
Source§impl<V, S> RenderHtml for Signal<V, S>
impl<V, S> RenderHtml for Signal<V, S>
Source§const MIN_LENGTH: usize = 0usize
const MIN_LENGTH: usize = 0usize
Source§type AsyncOutput = Signal<V, S>
type AsyncOutput = Signal<V, S>
Source§fn dry_resolve(&mut self)
fn dry_resolve(&mut self)
Source§async fn resolve(self) -> <Signal<V, S> as RenderHtml>::AsyncOutput
async fn resolve(self) -> <Signal<V, S> as RenderHtml>::AsyncOutput
Source§fn html_len(&self) -> usize
fn html_len(&self) -> usize
Source§fn to_html_with_buf(
self,
buf: &mut String,
position: &mut Position,
escape: bool,
mark_branches: bool,
)
fn to_html_with_buf( self, buf: &mut String, position: &mut Position, escape: bool, mark_branches: bool, )
Source§fn to_html_async_with_buf<const OUT_OF_ORDER: bool>(
self,
buf: &mut StreamBuilder,
position: &mut Position,
escape: bool,
mark_branches: bool,
)
fn to_html_async_with_buf<const OUT_OF_ORDER: bool>( self, buf: &mut StreamBuilder, position: &mut Position, escape: bool, mark_branches: bool, )
Source§fn hydrate<const FROM_SERVER: bool>(
self,
cursor: &Cursor,
position: &PositionState,
) -> <Signal<V, S> as Render>::State
fn hydrate<const FROM_SERVER: bool>( self, cursor: &Cursor, position: &PositionState, ) -> <Signal<V, S> as Render>::State
Source§const EXISTS: bool = true
const EXISTS: bool = true
Source§fn to_html_branching(self) -> Stringwhere
Self: Sized,
fn to_html_branching(self) -> Stringwhere
Self: Sized,
Source§fn to_html_stream_in_order(self) -> StreamBuilderwhere
Self: Sized,
fn to_html_stream_in_order(self) -> StreamBuilderwhere
Self: Sized,
Source§fn to_html_stream_in_order_branching(self) -> StreamBuilderwhere
Self: Sized,
fn to_html_stream_in_order_branching(self) -> StreamBuilderwhere
Self: Sized,
Source§fn to_html_stream_out_of_order(self) -> StreamBuilderwhere
Self: Sized,
fn to_html_stream_out_of_order(self) -> StreamBuilderwhere
Self: Sized,
Source§fn to_html_stream_out_of_order_branching(self) -> StreamBuilderwhere
Self: Sized,
fn to_html_stream_out_of_order_branching(self) -> StreamBuilderwhere
Self: Sized,
Source§fn hydrate_from<const FROM_SERVER: bool>(self, el: &Element) -> Self::Statewhere
Self: Sized,
fn hydrate_from<const FROM_SERVER: bool>(self, el: &Element) -> Self::Statewhere
Self: Sized,
RenderHtml::hydrate
, beginning at the given element.Source§fn hydrate_from_position<const FROM_SERVER: bool>(
self,
el: &Element,
position: Position,
) -> Self::Statewhere
Self: Sized,
fn hydrate_from_position<const FROM_SERVER: bool>(
self,
el: &Element,
position: Position,
) -> Self::Statewhere
Self: Sized,
RenderHtml::hydrate
, beginning at the given element and position.Source§impl<T, St> Serialize for Signal<T, St>
impl<T, St> Serialize for Signal<T, St>
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl<T, S> Copy for Signal<T, S>where
S: Storage<T>,
impl<T, S> Eq for Signal<T, S>where
S: Storage<T>,
Auto Trait Implementations§
impl<T, S> Freeze for Signal<T, S>
impl<T, S> RefUnwindSafe for Signal<T, S>
impl<T, S> Send for Signal<T, S>
impl<T, S> Sync for Signal<T, S>
impl<T, S> Unpin for Signal<T, S>
impl<T, S> UnwindSafe for Signal<T, S>
Blanket Implementations§
Source§impl<V, Key, Sig, T> BindAttribute<Key, Sig, T> for Vwhere
V: AddAnyAttr,
Key: AttributeKey,
Sig: IntoSplitSignal<Value = T>,
T: FromEventTarget + AttributeValue + PartialEq + Sync + 'static,
Signal<BoolOrT<T>>: IntoProperty,
<Sig as IntoSplitSignal>::Read: Get<Value = T> + Send + Sync + Clone + 'static,
<Sig as IntoSplitSignal>::Write: Send + Clone + 'static,
Element: GetValue<T>,
impl<V, Key, Sig, T> BindAttribute<Key, Sig, T> for Vwhere
V: AddAnyAttr,
Key: AttributeKey,
Sig: IntoSplitSignal<Value = T>,
T: FromEventTarget + AttributeValue + PartialEq + Sync + 'static,
Signal<BoolOrT<T>>: IntoProperty,
<Sig as IntoSplitSignal>::Read: Get<Value = T> + Send + Sync + Clone + 'static,
<Sig as IntoSplitSignal>::Write: Send + Clone + 'static,
Element: GetValue<T>,
Source§type Output = <V as AddAnyAttr>::Output<Bind<Key, T, <Sig as IntoSplitSignal>::Read, <Sig as IntoSplitSignal>::Write>>
type Output = <V as AddAnyAttr>::Output<Bind<Key, T, <Sig as IntoSplitSignal>::Read, <Sig as IntoSplitSignal>::Write>>
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<T, K, V> CustomAttribute<K, V> for T
impl<T, K, V> CustomAttribute<K, V> for T
Source§fn attr(self, key: K, value: V) -> Self::Output<CustomAttr<K, V>>
fn attr(self, key: K, value: V) -> Self::Output<CustomAttr<K, V>>
Source§impl<V, T, P, D> DirectiveAttribute<T, P, D> for V
impl<V, T, P, D> DirectiveAttribute<T, P, D> for V
Source§type Output = <V as AddAnyAttr>::Output<Directive<T, D, P>>
type Output = <V as AddAnyAttr>::Output<Directive<T, D, P>>
Source§fn directive(
self,
handler: D,
param: P,
) -> <V as DirectiveAttribute<T, P, D>>::Output
fn directive( self, handler: D, param: P, ) -> <V as DirectiveAttribute<T, P, D>>::Output
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
key
and return true
if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<CustErr, T, Request> FromReq<Streaming, Request, CustErr> for T
impl<CustErr, T, Request> FromReq<Streaming, Request, CustErr> for T
Source§async fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
async fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
Source§impl<CustErr, T, Request> FromReq<StreamingText, Request, CustErr> for T
impl<CustErr, T, Request> FromReq<StreamingText, Request, CustErr> for T
Source§async fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
async fn from_req(req: Request) -> Result<T, ServerFnError<CustErr>>
Source§impl<S, T> FromStream<T> for S
impl<S, T> FromStream<T> for S
Source§fn from_stream(stream: impl Stream<Item = T> + Send + 'static) -> S
fn from_stream(stream: impl Stream<Item = T> + Send + 'static) -> S
Source§fn from_stream_unsync(stream: impl Stream<Item = T> + 'static) -> S
fn from_stream_unsync(stream: impl Stream<Item = T> + 'static) -> S
Source§impl<T> IntoAttributeValue for Twhere
T: AttributeValue,
impl<T> IntoAttributeValue for Twhere
T: AttributeValue,
Source§fn into_attribute_value(self) -> <T as IntoAttributeValue>::Output
fn into_attribute_value(self) -> <T as IntoAttributeValue>::Output
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 moreSource§impl<T> IntoRender for Twhere
T: Render,
impl<T> IntoRender for Twhere
T: Render,
Source§fn into_render(self) -> <T as IntoRender>::Output
fn into_render(self) -> <T as IntoRender>::Output
Source§impl<CustErr, T, Response> IntoRes<Json, Response, CustErr> for T
impl<CustErr, T, Response> IntoRes<Json, Response, CustErr> for T
Source§async fn into_res(self) -> Result<Response, ServerFnError<CustErr>>
async fn into_res(self) -> Result<Response, ServerFnError<CustErr>>
Source§impl<T> Read for Twhere
T: Track + ReadUntracked,
impl<T> Read for Twhere
T: Track + ReadUntracked,
Source§impl<T> StorageAccess<T> for T
impl<T> StorageAccess<T> for T
Source§fn as_borrowed(&self) -> &T
fn as_borrowed(&self) -> &T
Source§fn into_taken(self) -> T
fn into_taken(self) -> T
Source§impl<T> With for Twhere
T: Read,
impl<T> With for Twhere
T: Read,
Source§type Value = <<T as Read>::Value as Deref>::Target
type Value = <<T as Read>::Value as Deref>::Target
Source§impl<T> WithUntracked for Twhere
T: DefinedAt + ReadUntracked,
impl<T> WithUntracked for Twhere
T: DefinedAt + ReadUntracked,
Source§type Value = <<T as ReadUntracked>::Value as Deref>::Target
type Value = <<T as ReadUntracked>::Value as Deref>::Target
Source§fn try_with_untracked<U>(
&self,
fun: impl FnOnce(&<T as WithUntracked>::Value) -> U,
) -> Option<U>
fn try_with_untracked<U>( &self, fun: impl FnOnce(&<T as WithUntracked>::Value) -> U, ) -> Option<U>
None
if the signal has already been disposed.