Return owned value for origin_server_ts accessors
This commit is contained in:
		
							parent
							
								
									cc72ddb689
								
							
						
					
					
						commit
						0cdd6a7b0f
					
				| @ -152,7 +152,7 @@ pub enum AnyRoomEvent { | ||||
| } | ||||
| 
 | ||||
| impl AnyRoomEvent { | ||||
|     room_ev_accessor!(origin_server_ts: &MilliSecondsSinceUnixEpoch); | ||||
|     room_ev_accessor!(origin_server_ts: MilliSecondsSinceUnixEpoch); | ||||
|     room_ev_accessor!(room_id: &RoomId); | ||||
|     room_ev_accessor!(event_id: &EventId); | ||||
|     room_ev_accessor!(sender: &UserId); | ||||
| @ -180,7 +180,7 @@ pub enum AnySyncRoomEvent { | ||||
| } | ||||
| 
 | ||||
| impl AnySyncRoomEvent { | ||||
|     room_ev_accessor!(origin_server_ts: &MilliSecondsSinceUnixEpoch); | ||||
|     room_ev_accessor!(origin_server_ts: MilliSecondsSinceUnixEpoch); | ||||
|     room_ev_accessor!(event_id: &EventId); | ||||
|     room_ev_accessor!(sender: &UserId); | ||||
| 
 | ||||
|  | ||||
| @ -446,10 +446,10 @@ macro_rules! impl_possibly_redacted_event { | ||||
|             } | ||||
| 
 | ||||
|             /// Returns this event's `origin_server_ts` field.
 | ||||
|             pub fn origin_server_ts(&self) -> &MilliSecondsSinceUnixEpoch { | ||||
|             pub fn origin_server_ts(&self) -> MilliSecondsSinceUnixEpoch { | ||||
|                 match self { | ||||
|                     Self::Original(ev) => &ev.origin_server_ts, | ||||
|                     Self::Redacted(ev) => &ev.origin_server_ts, | ||||
|                     Self::Original(ev) => ev.origin_server_ts, | ||||
|                     Self::Redacted(ev) => ev.origin_server_ts, | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|  | ||||
| @ -216,10 +216,10 @@ impl RoomRedactionEvent { | ||||
|     } | ||||
| 
 | ||||
|     /// Returns this event's `origin_server_ts` field.
 | ||||
|     pub fn origin_server_ts(&self) -> &MilliSecondsSinceUnixEpoch { | ||||
|     pub fn origin_server_ts(&self) -> MilliSecondsSinceUnixEpoch { | ||||
|         match self { | ||||
|             Self::Original(ev) => &ev.origin_server_ts, | ||||
|             Self::Redacted(ev) => &ev.origin_server_ts, | ||||
|             Self::Original(ev) => ev.origin_server_ts, | ||||
|             Self::Redacted(ev) => ev.origin_server_ts, | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
| @ -293,10 +293,10 @@ impl SyncRoomRedactionEvent { | ||||
|     } | ||||
| 
 | ||||
|     /// Returns this event's `origin_server_ts` field.
 | ||||
|     pub fn origin_server_ts(&self) -> &MilliSecondsSinceUnixEpoch { | ||||
|     pub fn origin_server_ts(&self) -> MilliSecondsSinceUnixEpoch { | ||||
|         match self { | ||||
|             Self::Original(ev) => &ev.origin_server_ts, | ||||
|             Self::Redacted(ev) => &ev.origin_server_ts, | ||||
|             Self::Original(ev) => ev.origin_server_ts, | ||||
|             Self::Redacted(ev) => ev.origin_server_ts, | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -470,13 +470,14 @@ fn expand_accessor_methods( | ||||
|             let field_type = field_return_type(name, ruma_common); | ||||
|             let variants = variants.iter().map(|v| v.match_arm(quote! { Self })); | ||||
|             let call_parens = maybe_redacted.then(|| quote! { () }); | ||||
|             let ampersand = (*name != "origin_server_ts").then(|| quote! { & }); | ||||
| 
 | ||||
|             quote! { | ||||
|                 #[doc = #docs] | ||||
|                 pub fn #ident(&self) -> &#field_type { | ||||
|                 pub fn #ident(&self) -> #field_type { | ||||
|                     match self { | ||||
|                         #( #variants(event) => &event.#ident #call_parens, )* | ||||
|                         Self::_Custom(event) => &event.#ident #call_parens, | ||||
|                         #( #variants(event) => #ampersand event.#ident #call_parens, )* | ||||
|                         Self::_Custom(event) => #ampersand event.#ident #call_parens, | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
| @ -584,9 +585,9 @@ fn event_module_path(name: &LitStr) -> Vec<Ident> { | ||||
| fn field_return_type(name: &str, ruma_common: &TokenStream) -> TokenStream { | ||||
|     match name { | ||||
|         "origin_server_ts" => quote! { #ruma_common::MilliSecondsSinceUnixEpoch }, | ||||
|         "room_id" => quote! { #ruma_common::RoomId }, | ||||
|         "event_id" => quote! { #ruma_common::EventId }, | ||||
|         "sender" => quote! { #ruma_common::UserId }, | ||||
|         "room_id" => quote! { &#ruma_common::RoomId }, | ||||
|         "event_id" => quote! { &#ruma_common::EventId }, | ||||
|         "sender" => quote! { &#ruma_common::UserId }, | ||||
|         _ => panic!("the `ruma_macros::event_enum::EVENT_FIELD` const was changed"), | ||||
|     } | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user