pub struct OwnedUserId { /* private fields */ }Expand description
Owned variant of UserId
§Inner representation
By default, this type uses a Box<str> internally. The inner representation can be selected at
compile time by using one of the following supported values:
Arc– Use anArc<str>.
The selected value can be set by using the ruma_identifiers_storage compile-time cfg setting.
This setting can be configured using the RUSTFLAGS environment variable at build time, like this:
RUSTFLAGS="--cfg ruma_identifiers_storage=\"{value}\""Or in .cargo/config.toml:
# General setting for all targets, overridden by per-target `rustflags` setting if set.
[build]
rustflags = ["--cfg", "ruma_identifiers_storage=\"{value}\""]
# Per-target setting.
[target.<triple/cfg>]
rustflags = ["--cfg", "ruma_identifiers_storage=\"{value}\""]This setting can also be configured using the RUMA_IDENTIFIERS_STORAGE environment variable at
compile time, which has the benefit of not requiring to re-compile the whole dependency chain
when the value is changed, like this:
RUMA_IDENTIFIERS_STORAGE="{value}"Methods from Deref<Target = UserId>§
Sourcepub fn server_name(&self) -> &ServerName
pub fn server_name(&self) -> &ServerName
Returns the server name of the user ID.
Sourcepub fn validate_strict(&self) -> Result<(), IdParseError>
pub fn validate_strict(&self) -> Result<(), IdParseError>
Validate this user ID against the strict grammar.
This should be used to validate newly created user IDs as historical user IDs are deprecated.
Sourcepub fn validate_historical(&self) -> Result<(), IdParseError>
pub fn validate_historical(&self) -> Result<(), IdParseError>
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.
Sourcepub fn is_historical(&self) -> bool
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.
Sourcepub fn matrix_to_uri(&self) -> MatrixToUri
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",
);Sourcepub fn matrix_uri(&self, chat: bool) -> MatrixUri
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§
Source§impl AsRef<[u8]> for OwnedUserId
impl AsRef<[u8]> for OwnedUserId
Source§impl AsRef<UserId> for OwnedUserId
impl AsRef<UserId> for OwnedUserId
Source§impl AsRef<str> for OwnedUserId
impl AsRef<str> for OwnedUserId
Source§impl Borrow<UserId> for OwnedUserId
impl Borrow<UserId> for OwnedUserId
Source§impl Clone for OwnedUserId
impl Clone for OwnedUserId
Source§impl Debug for OwnedUserId
impl Debug for OwnedUserId
Source§impl Deref for OwnedUserId
impl Deref for OwnedUserId
Source§impl<'de> Deserialize<'de> for OwnedUserId
impl<'de> Deserialize<'de> for OwnedUserId
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Source§impl Display for OwnedUserId
impl Display for OwnedUserId
Source§impl From<&UserId> for OwnedUserId
impl From<&UserId> for OwnedUserId
Source§impl From<OwnedUserId> for Box<str>
impl From<OwnedUserId> for Box<str>
Source§fn from(id: OwnedUserId) -> Self
fn from(id: OwnedUserId) -> Self
Source§impl From<OwnedUserId> for MatrixId
impl From<OwnedUserId> for MatrixId
Source§fn from(user_id: OwnedUserId) -> Self
fn from(user_id: OwnedUserId) -> Self
Source§impl From<OwnedUserId> for String
impl From<OwnedUserId> for String
Source§fn from(id: OwnedUserId) -> Self
fn from(id: OwnedUserId) -> Self
Source§impl FromStr for OwnedUserId
impl FromStr for OwnedUserId
Source§impl Hash for OwnedUserId
impl Hash for OwnedUserId
Source§impl Ord for OwnedUserId
impl Ord for OwnedUserId
Source§impl PartialEq<&UserId> for OwnedUserId
impl PartialEq<&UserId> for OwnedUserId
Source§impl PartialEq<&str> for OwnedUserId
impl PartialEq<&str> for OwnedUserId
Source§impl PartialEq<OwnedUserId> for &UserId
impl PartialEq<OwnedUserId> for &UserId
Source§impl PartialEq<OwnedUserId> for &str
impl PartialEq<OwnedUserId> for &str
Source§impl PartialEq<OwnedUserId> for String
impl PartialEq<OwnedUserId> for String
Source§impl PartialEq<OwnedUserId> for UserId
impl PartialEq<OwnedUserId> for UserId
Source§impl PartialEq<OwnedUserId> for str
impl PartialEq<OwnedUserId> for str
Source§impl PartialEq<String> for OwnedUserId
impl PartialEq<String> for OwnedUserId
Source§impl PartialEq<UserId> for OwnedUserId
impl PartialEq<UserId> for OwnedUserId
Source§impl PartialEq<str> for OwnedUserId
impl PartialEq<str> for OwnedUserId
Source§impl PartialEq for OwnedUserId
impl PartialEq for OwnedUserId
Source§impl PartialOrd for OwnedUserId
impl PartialOrd for OwnedUserId
Source§impl Serialize for OwnedUserId
impl Serialize for OwnedUserId
Source§impl TryFrom<&str> for OwnedUserId
impl TryFrom<&str> for OwnedUserId
Source§impl TryFrom<String> for OwnedUserId
impl TryFrom<String> for OwnedUserId
impl Eq for OwnedUserId
Auto Trait Implementations§
impl Freeze for OwnedUserId
impl RefUnwindSafe for OwnedUserId
impl Send for OwnedUserId
impl Sync for OwnedUserId
impl Unpin for OwnedUserId
impl UnwindSafe for OwnedUserId
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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.