identifiers: Make server_name! macro return a reference instead of an owned value
It is easy to turn it into an owned value through `.to_owned()`. The reverse was not possible without tying the reference to the lifetime of a temporary variable.
This commit is contained in:
parent
a81769c3fd
commit
87051c3cb6
@ -82,7 +82,7 @@ mod tests {
|
||||
let req = super::Request {
|
||||
limit: Some(uint!(10)),
|
||||
since: Some("hello"),
|
||||
server: Some(&server_name!("test.tld")),
|
||||
server: Some(server_name!("test.tld")),
|
||||
}
|
||||
.try_into_http_request::<Vec<u8>>(
|
||||
"https://homeserver.tld",
|
||||
|
@ -47,8 +47,8 @@ mod tests {
|
||||
fn serialization() {
|
||||
let mut content = DirectEventContent(BTreeMap::new());
|
||||
let server_name = server_name!("ruma.io");
|
||||
let alice = UserId::new(&server_name);
|
||||
let room = vec![RoomId::new(&server_name)];
|
||||
let alice = UserId::new(server_name);
|
||||
let room = vec![RoomId::new(server_name)];
|
||||
|
||||
content.insert(alice.clone(), room.clone());
|
||||
|
||||
@ -66,8 +66,8 @@ mod tests {
|
||||
#[test]
|
||||
fn deserialization() {
|
||||
let server_name = server_name!("ruma.io");
|
||||
let alice = UserId::new(&server_name);
|
||||
let rooms = vec![RoomId::new(&server_name), RoomId::new(&server_name)];
|
||||
let alice = UserId::new(server_name);
|
||||
let rooms = vec![RoomId::new(server_name), RoomId::new(server_name)];
|
||||
|
||||
let json_data = json!({
|
||||
"content": {
|
||||
|
@ -494,7 +494,7 @@ mod tests {
|
||||
&& third_party_displayname == "alice"
|
||||
&& mxid == "@alice:example.org"
|
||||
&& signatures == btreemap! {
|
||||
server_name!("magic.forest") => btreemap! {
|
||||
server_name!("magic.forest").to_owned() => btreemap! {
|
||||
server_signing_key_id!("ed25519:3").to_owned() => "foobar".to_owned()
|
||||
}
|
||||
}
|
||||
@ -579,7 +579,7 @@ mod tests {
|
||||
&& third_party_displayname == "alice"
|
||||
&& mxid == "@alice:example.org"
|
||||
&& signatures == btreemap! {
|
||||
server_name!("magic.forest") => btreemap! {
|
||||
server_name!("magic.forest").to_owned() => btreemap! {
|
||||
server_signing_key_id!("ed25519:3").to_owned() => "foobar".to_owned()
|
||||
}
|
||||
}
|
||||
@ -653,7 +653,7 @@ mod tests {
|
||||
&& third_party_displayname == "alice"
|
||||
&& mxid == "@alice:example.org"
|
||||
&& signatures == btreemap! {
|
||||
server_name!("magic.forest") => btreemap! {
|
||||
server_name!("magic.forest").to_owned() => btreemap! {
|
||||
server_signing_key_id!("ed25519:3").to_owned() => "foobar".to_owned()
|
||||
}
|
||||
}
|
||||
|
@ -38,16 +38,16 @@ mod tests {
|
||||
RoomPinnedEventsEventContent { pinned: Vec::new() };
|
||||
let server_name = server_name!("example.com");
|
||||
|
||||
content.pinned.push(EventId::new(&server_name));
|
||||
content.pinned.push(EventId::new(&server_name));
|
||||
content.pinned.push(EventId::new(server_name));
|
||||
content.pinned.push(EventId::new(server_name));
|
||||
|
||||
let event = StateEvent {
|
||||
content: content.clone(),
|
||||
event_id: EventId::new(&server_name),
|
||||
event_id: EventId::new(server_name),
|
||||
origin_server_ts: MilliSecondsSinceUnixEpoch(1_432_804_485_886_u64.try_into().unwrap()),
|
||||
prev_content: None,
|
||||
room_id: RoomId::new(&server_name),
|
||||
sender: UserId::new(&server_name),
|
||||
room_id: RoomId::new(server_name),
|
||||
sender: UserId::new(server_name),
|
||||
state_key: "".into(),
|
||||
unsigned: Unsigned::default(),
|
||||
};
|
||||
|
@ -57,7 +57,7 @@ mod tests {
|
||||
#[test]
|
||||
fn space_child_serialization() {
|
||||
let content = SpaceChildEventContent {
|
||||
via: Some(vec![server_name!("example.com")]),
|
||||
via: Some(vec![server_name!("example.com").to_owned()]),
|
||||
order: Some("uwu".to_owned()),
|
||||
suggested: Some(false),
|
||||
};
|
||||
|
@ -45,7 +45,7 @@ mod tests {
|
||||
#[test]
|
||||
fn space_parent_serialization() {
|
||||
let content = SpaceParentEventContent {
|
||||
via: Some(vec![server_name!("example.com")]),
|
||||
via: Some(vec![server_name!("example.com").to_owned()]),
|
||||
canonical: true,
|
||||
};
|
||||
|
||||
|
@ -21,7 +21,7 @@ fn serialize_pdu_as_v1() {
|
||||
server_signing_key_id!("ed25519:key_version").to_owned(),
|
||||
"86BytesOfSignatureOfTheRedactedEvent".into(),
|
||||
);
|
||||
signatures.insert(server_name!("example.com"), inner_signature);
|
||||
signatures.insert(server_name!("example.com").to_owned(), inner_signature);
|
||||
|
||||
let mut unsigned = BTreeMap::new();
|
||||
unsigned.insert("somekey".into(), to_raw_json_value(&json!({ "a": 456 })).unwrap());
|
||||
@ -88,7 +88,7 @@ fn serialize_pdu_as_v3() {
|
||||
server_signing_key_id!("ed25519:key_version").to_owned(),
|
||||
"86BytesOfSignatureOfTheRedactedEvent".into(),
|
||||
);
|
||||
signatures.insert(server_name!("example.com"), inner_signature);
|
||||
signatures.insert(server_name!("example.com").to_owned(), inner_signature);
|
||||
|
||||
let mut unsigned = BTreeMap::new();
|
||||
unsigned.insert("somekey".into(), to_raw_json_value(&json!({ "a": 456 })).unwrap());
|
||||
|
@ -103,9 +103,7 @@ pub fn server_name(input: TokenStream) -> TokenStream {
|
||||
assert!(server_name::validate(&id.value()).is_ok(), "Invalid server_name");
|
||||
|
||||
let output = quote! {
|
||||
<::std::boxed::Box::<#dollar_crate::ServerName> as ::std::convert::TryFrom<&str>>::try_from(
|
||||
#id,
|
||||
).unwrap()
|
||||
<&#dollar_crate::ServerName as ::std::convert::TryFrom<&str>>::try_from(#id).unwrap()
|
||||
};
|
||||
|
||||
output.into()
|
||||
|
@ -114,7 +114,7 @@ mod tests {
|
||||
fn generate_random_valid_event_id() {
|
||||
use crate::server_name;
|
||||
|
||||
let event_id = EventId::new(&server_name!("example.com"));
|
||||
let event_id = EventId::new(server_name!("example.com"));
|
||||
let id_str = event_id.as_str();
|
||||
|
||||
assert!(id_str.starts_with('$'));
|
||||
|
@ -104,7 +104,7 @@ mod tests {
|
||||
fn generate_random_valid_room_id() {
|
||||
use crate::server_name;
|
||||
|
||||
let room_id = RoomId::new(&server_name!("example.com"));
|
||||
let room_id = RoomId::new(server_name!("example.com"));
|
||||
let id_str = room_id.as_str();
|
||||
|
||||
assert!(id_str.starts_with('!'));
|
||||
|
@ -113,7 +113,7 @@ mod tests {
|
||||
#[test]
|
||||
fn parse_valid_user_id() {
|
||||
let server_name = server_name!("example.com");
|
||||
let user_id = UserId::parse_with_server_name("@carl:example.com", &server_name)
|
||||
let user_id = UserId::parse_with_server_name("@carl:example.com", server_name)
|
||||
.expect("Failed to create UserId.");
|
||||
assert_eq!(user_id.as_str(), "@carl:example.com");
|
||||
assert_eq!(user_id.localpart(), "carl");
|
||||
@ -125,7 +125,7 @@ mod tests {
|
||||
fn parse_valid_user_id_parts() {
|
||||
let server_name = server_name!("example.com");
|
||||
let user_id =
|
||||
UserId::parse_with_server_name("carl", &server_name).expect("Failed to create UserId.");
|
||||
UserId::parse_with_server_name("carl", server_name).expect("Failed to create UserId.");
|
||||
assert_eq!(user_id.as_str(), "@carl:example.com");
|
||||
assert_eq!(user_id.localpart(), "carl");
|
||||
assert_eq!(user_id.server_name(), "example.com");
|
||||
@ -145,7 +145,7 @@ mod tests {
|
||||
#[test]
|
||||
fn parse_valid_historical_user_id() {
|
||||
let server_name = server_name!("example.com");
|
||||
let user_id = UserId::parse_with_server_name("@a%b[irc]:example.com", &server_name)
|
||||
let user_id = UserId::parse_with_server_name("@a%b[irc]:example.com", server_name)
|
||||
.expect("Failed to create UserId.");
|
||||
assert_eq!(user_id.as_str(), "@a%b[irc]:example.com");
|
||||
assert_eq!(user_id.localpart(), "a%b[irc]");
|
||||
@ -156,7 +156,7 @@ mod tests {
|
||||
#[test]
|
||||
fn parse_valid_historical_user_id_parts() {
|
||||
let server_name = server_name!("example.com");
|
||||
let user_id = UserId::parse_with_server_name("a%b[irc]", &server_name)
|
||||
let user_id = UserId::parse_with_server_name("a%b[irc]", server_name)
|
||||
.expect("Failed to create UserId.");
|
||||
assert_eq!(user_id.as_str(), "@a%b[irc]:example.com");
|
||||
assert_eq!(user_id.localpart(), "a%b[irc]");
|
||||
@ -175,7 +175,7 @@ mod tests {
|
||||
#[test]
|
||||
fn generate_random_valid_user_id() {
|
||||
let server_name = server_name!("example.com");
|
||||
let user_id = UserId::new(&server_name);
|
||||
let user_id = UserId::new(server_name);
|
||||
assert_eq!(user_id.localpart().len(), 12);
|
||||
assert_eq!(user_id.server_name(), "example.com");
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user