#[non_exhaustive]pub enum VoipVersionId {
V0,
V1,
}
Expand description
A Matrix VoIP version ID.
A VoipVersionId
representing VoIP version 0 can be converted or deserialized from a UInt
,
and can be converted or serialized back into a UInt
as needed.
Custom room versions or ones that were introduced into the specification after this code was written are represented by a hidden enum variant. They can be converted or deserialized from a string slice, and can be converted or serialized back into a string as needed.
assert_eq!(VoipVersionId::try_from("1").unwrap().as_ref(), "1");
For simplicity, version 0 has a string representation, but trying to construct a VoipVersionId
from a "0"
string will not result in the V0
variant.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Implementations§
Trait Implementations§
Source§impl AsRef<str> for VoipVersionId
impl AsRef<str> for VoipVersionId
Source§impl Clone for VoipVersionId
impl Clone for VoipVersionId
Source§fn clone(&self) -> VoipVersionId
fn clone(&self) -> VoipVersionId
Returns a copy 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 Debug for VoipVersionId
impl Debug for VoipVersionId
Source§impl<'de> Deserialize<'de> for VoipVersionId
impl<'de> Deserialize<'de> for VoipVersionId
Source§fn deserialize<D>(
deserializer: D,
) -> Result<VoipVersionId, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<VoipVersionId, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for VoipVersionId
impl Display for VoipVersionId
Source§impl From<&str> for VoipVersionId
impl From<&str> for VoipVersionId
Source§fn from(s: &str) -> VoipVersionId
fn from(s: &str) -> VoipVersionId
Converts to this type from the input type.
Source§impl From<String> for VoipVersionId
impl From<String> for VoipVersionId
Source§fn from(s: String) -> VoipVersionId
fn from(s: String) -> VoipVersionId
Converts to this type from the input type.
Source§impl From<VoipVersionId> for String
impl From<VoipVersionId> for String
Source§fn from(id: VoipVersionId) -> String
fn from(id: VoipVersionId) -> String
Converts to this type from the input type.
Source§impl Hash for VoipVersionId
impl Hash for VoipVersionId
Source§impl PartialEq for VoipVersionId
impl PartialEq for VoipVersionId
Source§impl Serialize for VoipVersionId
impl Serialize for VoipVersionId
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,
Serialize this value into the given Serde serializer. Read more
Source§impl TryFrom<UInt> for VoipVersionId
impl TryFrom<UInt> for VoipVersionId
impl Eq for VoipVersionId
impl StructuralPartialEq for VoipVersionId
Auto Trait Implementations§
impl Freeze for VoipVersionId
impl RefUnwindSafe for VoipVersionId
impl Send for VoipVersionId
impl Sync for VoipVersionId
impl Unpin for VoipVersionId
impl UnwindSafe for VoipVersionId
Blanket Implementations§
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
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 more