diff --git a/ruma-identifiers-macros/src/lib.rs b/ruma-identifiers-macros/src/lib.rs index ca65e779..8531746a 100644 --- a/ruma-identifiers-macros/src/lib.rs +++ b/ruma-identifiers-macros/src/lib.rs @@ -7,16 +7,6 @@ use ruma_identifiers_validation::{ }; use syn::{parse_macro_input, LitStr}; -#[proc_macro] -pub fn device_id(input: TokenStream) -> TokenStream { - let id = parse_macro_input!(input as LitStr); - let output = quote! { - ::std::boxed::Box<::ruma::identifiers::DeviceId>::from(#id) - }; - - output.into() -} - #[proc_macro] pub fn device_key_id(input: TokenStream) -> TokenStream { let id = parse_macro_input!(input as LitStr); diff --git a/ruma-identifiers/src/lib.rs b/ruma-identifiers/src/lib.rs index f797beb8..965a75ba 100644 --- a/ruma-identifiers/src/lib.rs +++ b/ruma-identifiers/src/lib.rs @@ -73,3 +73,11 @@ where T::try_from(&v).map_err(|_| de::Error::invalid_value(Unexpected::Str(&v), &expected_str)) }) } + +/// Shorthand for `Box::::from`. +#[macro_export] +macro_rules! device_id { + ($s:tt) => { + ::std::boxed::Box<$crate::DeviceId>::from($s) + }; +}