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