Struct OwnedUserId

pub struct OwnedUserId { /* private fields */ }
Expand description

Owned variant of UserId

The wrapper type for this type is variable, by default it’ll use Box, but you can change that by setting “--cfg=ruma_identifiers_storage=...” using RUSTFLAGS or .cargo/config.toml (under [build] -> rustflags = ["..."]) to the following;

  • ruma_identifiers_storage="Arc" to use Arc as a wrapper type.

Methods from Deref<Target = UserId>§

pub fn as_str(&self) -> &str

Creates a string slice from this UserId.

pub fn as_bytes(&self) -> &[u8]

Creates a byte slice from this UserId.

pub fn localpart(&self) -> &str

Returns the user’s localpart.

pub fn server_name(&self) -> &ServerName

Returns the server name of the user ID.

pub fn validate_strict(&self) -> Result<(), Error>

Validate this user ID against the strict grammar.

This should be used to validate newly created user IDs as historical user IDs are deprecated.

pub fn validate_historical(&self) -> Result<(), Error>

Validate this user ID against the historical grammar.

According to the spec, servers should check events received over federation that contain user IDs with this method, and those that fail should not be forwarded to their users.

Contrary to UserId::is_historical() this method also includes user IDs that conform to the latest grammar.

pub fn is_historical(&self) -> bool

Whether this user ID is a historical one.

A historical user ID is one that doesn’t conform to the latest specification of the user ID grammar but is still accepted because it was previously allowed.

pub fn matrix_to_uri(&self) -> MatrixToUri

Create a matrix.to URI for this user ID.

§Example
use ruma_common::user_id;

let message = format!(
    r#"Thanks for the update <a href="{link}">{display_name}</a>."#,
    link = user_id!("@jplatte:notareal.hs").matrix_to_uri(),
    display_name = "jplatte",
);

pub fn matrix_uri(&self, chat: bool) -> MatrixUri

Create a matrix: URI for this user ID.

If chat is true, a click on the URI should start a direct message with the user.

§Example
use ruma_common::user_id;

let message = format!(
    r#"Thanks for the update <a href="{link}">{display_name}</a>."#,
    link = user_id!("@jplatte:notareal.hs").matrix_uri(false),
    display_name = "jplatte",
);

Trait Implementations§

§

impl AsRef<[u8]> for OwnedUserId

§

fn as_ref(&self) -> &[u8]

Converts this type into a shared reference of the (usually inferred) input type.
§

impl AsRef<UserId> for OwnedUserId

§

fn as_ref(&self) -> &UserId

Converts this type into a shared reference of the (usually inferred) input type.
§

impl AsRef<str> for OwnedUserId

§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
§

impl Borrow<UserId> for OwnedUserId

§

fn borrow(&self) -> &UserId

Immutably borrows from an owned value. Read more
§

impl Clone for OwnedUserId

§

fn clone(&self) -> OwnedUserId

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for OwnedUserId

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Deref for OwnedUserId

§

type Target = UserId

The resulting type after dereferencing.
§

fn deref(&self) -> &<OwnedUserId as Deref>::Target

Dereferences the value.
§

impl<'de> Deserialize<'de> for OwnedUserId

§

fn deserialize<D>( deserializer: D, ) -> Result<OwnedUserId, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
§

impl Display for OwnedUserId

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl From<&OwnedUserId> for OwnedDirectUserIdentifier

§

fn from(value: &OwnedUserId) -> OwnedDirectUserIdentifier

Converts to this type from the input type.
§

impl From<&OwnedUserId> for UserIdentifier

§

fn from(id: &OwnedUserId) -> UserIdentifier

Converts to this type from the input type.
§

impl From<&UserId> for OwnedUserId

§

fn from(id: &UserId) -> OwnedUserId

Converts to this type from the input type.
§

impl From<Arc<UserId>> for OwnedUserId

§

fn from(a: Arc<UserId>) -> OwnedUserId

Converts to this type from the input type.
§

impl From<Box<UserId>> for OwnedUserId

§

fn from(b: Box<UserId>) -> OwnedUserId

Converts to this type from the input type.
§

impl From<OwnedUserId> for Arc<UserId>

§

fn from(a: OwnedUserId) -> Arc<UserId>

Converts to this type from the input type.
§

impl From<OwnedUserId> for Box<UserId>

§

fn from(a: OwnedUserId) -> Box<UserId>

Converts to this type from the input type.
§

impl From<OwnedUserId> for MatrixId

§

fn from(user_id: OwnedUserId) -> MatrixId

Converts to this type from the input type.
§

impl From<OwnedUserId> for OwnedDirectUserIdentifier

§

fn from(value: OwnedUserId) -> OwnedDirectUserIdentifier

Converts to this type from the input type.
§

impl From<OwnedUserId> for String

§

fn from(id: OwnedUserId) -> String

Converts to this type from the input type.
§

impl From<OwnedUserId> for UserIdentifier

§

fn from(id: OwnedUserId) -> UserIdentifier

Converts to this type from the input type.
§

impl FromStr for OwnedUserId

§

type Err = Error

The associated error which can be returned from parsing.
§

fn from_str(s: &str) -> Result<OwnedUserId, <OwnedUserId as FromStr>::Err>

Parses a string s to return a value of this type. Read more
§

impl Hash for OwnedUserId

§

fn hash<H>(&self, state: &mut H)
where H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
§

impl Ord for OwnedUserId

§

fn cmp(&self, other: &OwnedUserId) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
§

impl PartialEq<&DirectUserIdentifier> for OwnedUserId

§

fn eq(&self, other: &&DirectUserIdentifier) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq<&UserId> for OwnedUserId

§

fn eq(&self, other: &&UserId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq<&str> for OwnedUserId

§

fn eq(&self, other: &&str) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq<Arc<UserId>> for OwnedUserId

§

fn eq(&self, other: &Arc<UserId>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq<Box<UserId>> for OwnedUserId

§

fn eq(&self, other: &Box<UserId>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq<OwnedDirectUserIdentifier> for OwnedUserId

§

fn eq(&self, other: &OwnedDirectUserIdentifier) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq<OwnedUserId> for &DirectUserIdentifier

§

fn eq(&self, other: &OwnedUserId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq<OwnedUserId> for &UserId

§

fn eq(&self, other: &OwnedUserId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq<OwnedUserId> for &str

§

fn eq(&self, other: &OwnedUserId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq<OwnedUserId> for Box<UserId>

§

fn eq(&self, other: &OwnedUserId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq<OwnedUserId> for OwnedDirectUserIdentifier

§

fn eq(&self, other: &OwnedUserId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq<OwnedUserId> for String

§

fn eq(&self, other: &OwnedUserId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq<OwnedUserId> for UserId

§

fn eq(&self, other: &OwnedUserId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq<OwnedUserId> for str

§

fn eq(&self, other: &OwnedUserId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq<String> for OwnedUserId

§

fn eq(&self, other: &String) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq<UserId> for OwnedUserId

§

fn eq(&self, other: &UserId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq<str> for OwnedUserId

§

fn eq(&self, other: &str) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq for OwnedUserId

§

fn eq(&self, other: &OwnedUserId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialOrd for OwnedUserId

§

fn partial_cmp(&self, other: &OwnedUserId) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
§

impl Serialize for OwnedUserId

§

fn serialize<S>( &self, serializer: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
§

impl TryFrom<&DirectUserIdentifier> for OwnedUserId

§

type Error = Error

The type returned in the event of a conversion error.
§

fn try_from( value: &DirectUserIdentifier, ) -> Result<OwnedUserId, <OwnedUserId as TryFrom<&DirectUserIdentifier>>::Error>

Performs the conversion.
§

impl TryFrom<&OwnedDirectUserIdentifier> for OwnedUserId

§

type Error = Error

The type returned in the event of a conversion error.
§

fn try_from( value: &OwnedDirectUserIdentifier, ) -> Result<OwnedUserId, <OwnedUserId as TryFrom<&OwnedDirectUserIdentifier>>::Error>

Performs the conversion.
§

impl TryFrom<&str> for OwnedUserId

§

type Error = Error

The type returned in the event of a conversion error.
§

fn try_from( s: &str, ) -> Result<OwnedUserId, <OwnedUserId as TryFrom<&str>>::Error>

Performs the conversion.
§

impl TryFrom<OwnedDirectUserIdentifier> for OwnedUserId

§

type Error = Error

The type returned in the event of a conversion error.
§

fn try_from( value: OwnedDirectUserIdentifier, ) -> Result<OwnedUserId, <OwnedUserId as TryFrom<OwnedDirectUserIdentifier>>::Error>

Performs the conversion.
§

impl TryFrom<String> for OwnedUserId

§

type Error = Error

The type returned in the event of a conversion error.
§

fn try_from( s: String, ) -> Result<OwnedUserId, <OwnedUserId as TryFrom<String>>::Error>

Performs the conversion.
§

impl Eq for OwnedUserId

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Comparable<K> for Q
where Q: Ord + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
§

impl<T> CompatExt for T

§

fn compat(self) -> Compat<T>

Applies the [Compat] adapter by value. Read more
§

fn compat_ref(&self) -> Compat<&T>

Applies the [Compat] adapter by shared reference. Read more
§

fn compat_mut(&mut self) -> Compat<&mut T>

Applies the [Compat] adapter by mutable reference. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_sync(self: Box<T>) -> Box<dyn Any + Sync + Send>

Converts Box<Trait> (where Trait: DowncastSync) to Box<dyn Any + Send + Sync>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Converts Arc<Trait> (where Trait: DowncastSync) to Arc<Any>, which can then be downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

Source§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
Source§

fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
Source§

fn consume_handle(handle: Handle) -> Arc<T>

Consume a handle, getting back the initial Arc<>
Source§

fn get_arc(handle: Handle) -> Arc<Self>

Get a clone of the Arc<> using a “borrowed” handle. Read more
Source§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

Source§

const WITNESS: W = W::MAKE

A constant of the type witness
Source§

impl<T> Identity for T
where T: ?Sized,

Source§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
Source§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<I> IntoResettable<String> for I
where I: Into<String>,

Source§

fn into_resettable(self) -> Resettable<String>

Convert to the intended resettable type
Source§

impl<Ctx, T> MeasureWith<Ctx> for T
where T: AsRef<[u8]>,

Source§

fn measure_with(&self, _ctx: &Ctx) -> usize

How large is Self, given the ctx?
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
Source§

impl<T> Any for T
where T: Any,

Source§

impl<T> AsyncTraitDeps for T

Source§

impl<T> CloneAny for T
where T: Any + Clone,

Source§

impl<T> CloneAnySend for T
where T: Any + Send + Clone,

Source§

impl<T> CloneAnySendSync for T
where T: Any + Send + Sync + Clone,

Source§

impl<T> CloneAnySync for T
where T: Any + Sync + Clone,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> Fruit for T
where T: Send + Downcast,

§

impl<T> JsonCastable<CanonicalJsonValue> for T

§

impl<T> JsonCastable<Value> for T

Source§

impl<T> MaybeSendSync for T

Source§

impl<T> SendOutsideWasm for T
where T: Send,

Source§

impl<T> SyncOutsideWasm for T
where T: Sync,