簡體   English   中英

在 Rust 的過程宏中使用 $crate?

[英]Using $crate in Rust's procedural macros?

我知道$crate變量是什么,但據我所知,它不能在過程宏中使用。 有沒有其他方法可以達到類似的效果?

我有一個例子,大致要求我使用報價和每晚 Rust 寫這樣的東西

quote!(
     struct Foo {
        bar: [SomeTrait;#len]
     }
)

我需要確保SomeTrait在 scope 中( #len是在片段的 scope 之外引用 integer )。

我在夜間使用 quote 和 syn 使用過程宏 2.0,因為proc-macro-hack對我不起作用。 這是我試圖概括的例子

我知道$crate變量是什么,但據我所知,它不能在程序宏中使用。 有沒有其他方法可以達到類似的效果?

我有一個例子,大致要求我使用引用和夜間 Rust 寫這樣的東西

quote!(
     struct Foo {
        bar: [SomeTrait;#len]
     }
)

我需要確保SomeTrait在范圍內( #len引用的是代碼段范圍之外的整數)。

我每晚使用引用和同步使用程序宏 2.0,因為proc-macro-hack對我不起作用。 這是我試圖概括的例子

我知道$crate變量是什么,但據我所知,它不能在程序宏中使用。 有沒有其他方法可以達到類似的效果?

我有一個例子,大致要求我使用引用和夜間 Rust 寫這樣的東西

quote!(
     struct Foo {
        bar: [SomeTrait;#len]
     }
)

我需要確保SomeTrait在范圍內( #len引用的是代碼段范圍之外的整數)。

我每晚使用引用和同步使用程序宏 2.0,因為proc-macro-hack對我不起作用。 這是我試圖概括的例子

我知道$crate變量是什么,但據我所知,它不能在程序宏中使用。 有沒有其他方法可以達到類似的效果?

我有一個例子,大致要求我使用引用和夜間 Rust 寫這樣的東西

quote!(
     struct Foo {
        bar: [SomeTrait;#len]
     }
)

我需要確保SomeTrait在范圍內( #len引用的是代碼段范圍之外的整數)。

我每晚使用引用和同步使用程序宏 2.0,因為proc-macro-hack對我不起作用。 這是我試圖概括的例子

您可以將您的 proc-macro 包裝在聲明性宏中,並將$crate標識符傳遞給您的 proc-macro 以供重用(例如,請參閱此提交)。 它將使用特殊的$crate標識符創建一個proc_macro::Ident值。

請注意,您不能手動創建這樣的標識符,因為$通常在標識符內部是無效的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM