Compiler errors 在编译时发出警告?
我想在编译时发出警告,可能是从宏发出的。它不应通过Compiler errors 在编译时发出警告?,compiler-errors,rust,rust-macros,Compiler Errors,Rust,Rust Macros,我想在编译时发出警告,可能是从宏发出的。它不应通过cap_lints消声。我当前的用例是功能弃用,但它还有其他可能的用途。这在stable Rust中目前是不可能的。但是,有一个不稳定的特性,它通过API为过程宏提供此功能 要从过程宏内部发出编译器警告,可以如下使用: #![feature(proc_macro_diagnostic)] use proc_macro::Diagnostic; Diagnostic::new() .warning("This method is dep
cap_lints
消声。我当前的用例是功能弃用,但它还有其他可能的用途。这在stable Rust中目前是不可能的。但是,有一个不稳定的特性,它通过API为过程宏提供此功能
要从过程宏内部发出编译器警告,可以如下使用:
#![feature(proc_macro_diagnostic)]
use proc_macro::Diagnostic;
Diagnostic::new()
.warning("This method is deprecated")
.emit();
要将警告与特定的标记范围相关联,可以使用
span\u warning
。这将使警告输出显示带下划线的相关源标记以及消息。这在stable Rust中目前是不可能的。但是,有一个不稳定的特性,它通过API为过程宏提供此功能
要从过程宏内部发出编译器警告,可以如下使用:
#![feature(proc_macro_diagnostic)]
use proc_macro::Diagnostic;
Diagnostic::new()
.warning("This method is deprecated")
.emit();
要将警告与特定的标记范围相关联,可以使用span\u warning
。这将使警告输出显示带下划线的相关源标记以及消息