Rust Attributes まとめ
4988 ワード
Attributes の分類
- Built-in attributes
- Macro attributes
- Derive macro helper attributes
- Tool attributes
Built-in attributes
no_std / no_main / no_mangle 等
Macro attributes
// my-macro/src/lib.rs
#[proc_macro_attribute]
pub fn show_streams(attr: TokenStream, item: TokenStream) -> TokenStream {
println!("attr: \"{}\"", attr.to_string());
println!("item: \"{}\"", item.to_string());
item
}
Derive macro helper attribute
#[proc_macro_derive(HelperAttr, attributes(helper))]
pub fn derive_helper_attr(_item: TokenStream) -> TokenStream {
TokenStream::new()
}
Tool attributes
外部ツール(rustfmt等)向けの attributes。
// Tells the rustfmt tool to not format the following element.
#[rustfmt::skip]
struct S {
}
// Controls the "cyclomatic complexity" threshold for the clippy tool.
#[clippy::cyclomatic_complexity = "100"]
pub fn f() {}
参考
Author And Source
この問題について(Rust Attributes まとめ), 我々は、より多くの情報をここで見つけました https://zenn.dev/kgwnbhr/articles/649a3aefdc7c82著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol