Deprecate the EventType enum
This commit is contained in:
		
							parent
							
								
									e86ee7dd31
								
							
						
					
					
						commit
						e9c60cf36c
					
				| @ -12,9 +12,9 @@ use ruma_common::{ | |||||||
|         }, |         }, | ||||||
|         AnyEphemeralRoomEvent, AnyMessageLikeEvent, AnyRoomEvent, AnyStateEvent, |         AnyEphemeralRoomEvent, AnyMessageLikeEvent, AnyRoomEvent, AnyStateEvent, | ||||||
|         AnyStateEventContent, AnySyncMessageLikeEvent, AnySyncRoomEvent, AnySyncStateEvent, |         AnyStateEventContent, AnySyncMessageLikeEvent, AnySyncRoomEvent, AnySyncStateEvent, | ||||||
|         EphemeralRoomEventType, EventType, GlobalAccountDataEventType, MessageLikeEvent, |         EphemeralRoomEventType, GlobalAccountDataEventType, MessageLikeEvent, MessageLikeEventType, | ||||||
|         MessageLikeEventType, RoomAccountDataEventType, StateEvent, StateEventType, |         RoomAccountDataEventType, StateEvent, StateEventType, SyncMessageLikeEvent, SyncStateEvent, | ||||||
|         SyncMessageLikeEvent, SyncStateEvent, ToDeviceEventType, Unsigned, |         ToDeviceEventType, Unsigned, | ||||||
|     }, |     }, | ||||||
|     MilliSecondsSinceUnixEpoch, |     MilliSecondsSinceUnixEpoch, | ||||||
| }; | }; | ||||||
| @ -323,7 +323,10 @@ fn ephemeral_event_deserialization() { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #[test] | #[test] | ||||||
|  | #[allow(deprecated)] | ||||||
| fn serialize_and_deserialize_from_display_form() { | fn serialize_and_deserialize_from_display_form() { | ||||||
|  |     use ruma_common::events::EventType; | ||||||
|  | 
 | ||||||
|     serde_json_eq(EventType::CallAnswer, json!("m.call.answer")); |     serde_json_eq(EventType::CallAnswer, json!("m.call.answer")); | ||||||
|     serde_json_eq(MessageLikeEventType::CallAnswer, json!("m.call.answer")); |     serde_json_eq(MessageLikeEventType::CallAnswer, json!("m.call.answer")); | ||||||
|     serde_json_eq(EventType::CallCandidates, json!("m.call.candidates")); |     serde_json_eq(EventType::CallCandidates, json!("m.call.candidates")); | ||||||
|  | |||||||
| @ -65,6 +65,12 @@ fn generate_enum( | |||||||
|     let byte_doc = format!("Creates a byte slice from this `{}`.", ident); |     let byte_doc = format!("Creates a byte slice from this `{}`.", ident); | ||||||
|     let enum_doc = format!("The type of `{}` this is.", ident.strip_suffix("Type").unwrap()); |     let enum_doc = format!("The type of `{}` this is.", ident.strip_suffix("Type").unwrap()); | ||||||
| 
 | 
 | ||||||
|  |     let deprecated_attr = (ident == "EventType").then(|| { | ||||||
|  |         quote! { | ||||||
|  |             #[deprecated = "use a fine-grained event type enum like RoomEventType instead"] | ||||||
|  |         } | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|     let ident = Ident::new(ident, Span::call_site()); |     let ident = Ident::new(ident, Span::call_site()); | ||||||
| 
 | 
 | ||||||
|     let mut deduped: Vec<&EventEnumEntry> = vec![]; |     let mut deduped: Vec<&EventEnumEntry> = vec![]; | ||||||
| @ -88,6 +94,7 @@ fn generate_enum( | |||||||
|         ///
 |         ///
 | ||||||
|         /// This type can hold an arbitrary string. To check for events that are not available as a
 |         /// This type can hold an arbitrary string. To check for events that are not available as a
 | ||||||
|         /// documented variant here, use its string representation, obtained through `.as_str()`.
 |         /// documented variant here, use its string representation, obtained through `.as_str()`.
 | ||||||
|  |         #deprecated_attr | ||||||
|         #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, #ruma_common::serde::StringEnum)] |         #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash, #ruma_common::serde::StringEnum)] | ||||||
|         #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] |         #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] | ||||||
|         pub enum #ident { |         pub enum #ident { | ||||||
| @ -100,6 +107,7 @@ fn generate_enum( | |||||||
|             _Custom(crate::PrivOwnedStr), |             _Custom(crate::PrivOwnedStr), | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         #[allow(deprecated)] | ||||||
|         impl #ident { |         impl #ident { | ||||||
|             #[doc = #str_doc] |             #[doc = #str_doc] | ||||||
|             pub fn as_str(&self) -> &str { |             pub fn as_str(&self) -> &str { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user