use proc_macro2::{Ident, TokenStream}; use quote::quote; use crate::util::import_ruma_common; pub fn expand_serialize_as_ref_str(ident: &Ident) -> syn::Result { let ruma_common = import_ruma_common(); Ok(quote! { impl #ruma_common::exports::serde::ser::Serialize for #ident { fn serialize(&self, serializer: S) -> ::std::result::Result where S: #ruma_common::exports::serde::ser::Serializer, { >::as_ref(self) .serialize(serializer) } } }) }