[Help] Rust-Analyzer not expanding Macro-Rules Macro

NOTE: I am using "codium" rather than "vscode" so I think it is using an older version of Rust Analyzer.

I have a macro defined that invokes another macro. The sub-macro is not expanded by Rust Analyzer. Here is the relevant portions of the macros:

macro_rules! __method_types {
    ($ident:ident) => {
        $crate::paste! {
            pub type [< $ident Request>] = $crate::request::MethodRequest<$ident>;
            pub type [< $ident Response>] = $crate::response::Response<<$ident as $crate::method::Method>::ResponseResult>;

macro_rules! define_method {
    ($ident:ident, $method_name:expr) => {
        $crate::define_method!($ident, $method_name, () => ())
    ($ident:ident, $method_name:expr, $params:ty) => {
        $crate::define_method!($ident, $method_name, $params => ())
    ($ident:ident, $method_name:expr, $params:ty => bool) => {
        compile_error!("Using `bool` as the result type of a method is most probably not what you want. Please use `krpc_types::Success` instead or define a custom result type.");
    ($ident:ident, $method_name:expr, $params:ty => $result:ty) => {
        #[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
        pub struct $ident;



When Rust Analyzer (the latest) expands this I get:

// Recursive expansion of define_method! macro
// ============================================

pub struct XrefUserFunctions;

impl $crate::method::Method for XrefUserFunctions {
  type RequestParams = XrefUserFunctionsParams;
  type ResponseResult = XrefUserFunctionsResult;
  const METHOD_NAME: & 'static str = "xrefUserFunctions";
impl std::str::FromStr for XrefUserFunctions {

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.