相关疑难解决方法(0)

我们可以在过程宏属性中获取调用者的源代码位置吗?

我需要获取每个方法的调用者的源位置。我正在尝试创建一个proc_macro_attribute来捕获位置并打印它。

#[proc_macro_attribute]
pub fn get_location(attr: TokenStream, item: TokenStream) -> TokenStream {
    // Get and print file!(), line!() of source
    // Should print line no. 11
    item
}
Run Code Online (Sandbox Code Playgroud)
#[get_location]
fn add(x: u32, y: u32) -> u32 {
    x + y
}

fn main() {
    add(1, 5); // Line No. 11
}
Run Code Online (Sandbox Code Playgroud)

rust rust-macros rust-proc-macros

6
推荐指数
2
解决办法
2589
查看次数

标签 统计

rust ×1

rust-macros ×1

rust-proc-macros ×1