use quote::ToTokens;
use syn::Type;
macro_rules! equal_type_or_err {
($src_type:ident, $target_type:ident, $correct_macro:expr) => {
if !is_equal_type(&$src_type, &$target_type) {
err!(
$src_type,
"Type '{} cannot be merged into field of type '{}'.",
$src_type.to_token_stream(),
$target_type.to_token_stream()
)
} else {
$correct_macro
}
};
}
pub(crate) use equal_type_or_err;
pub fn is_equal_type(src_type: &Type, target_type: &Type) -> bool {
if src_type.to_token_stream().to_string() != target_type.to_token_stream().to_string() {
return false;
}
true
}