Rust 有没有办法将代码建议声明为不完整或非正式的?

Rust 有没有办法将代码建议声明为不完整或非正式的?,rust,internals,diagnostics,Rust,Internals,Diagnostics,在改进lint时,有人问我是否可以判断lint的建议是否可以直接拼接到代码中(“将X更改为Y”),或者它是否不完整/非正式,是否应该手动实现(“考虑重命名此变量”) 目前,clippy使用span\u suggestion(span,&str),但我看不到一种方法来通知编译器所提出的建议的类型。是否有一些(计划中的)API可以做到这一点?我根据您的提问添加了一些示例;如果不合适,请更换。如果这些例子是正确的,你不总是会遇到这样的问题:建议中嵌入了人类文本吗?例如,“changeXtoY”必须解析

在改进lint时,有人问我是否可以判断lint的建议是否可以直接拼接到代码中(“将
X
更改为
Y
”),或者它是否不完整/非正式,是否应该手动实现(“考虑重命名此变量”)


目前,clippy使用
span\u suggestion(span,&str)
,但我看不到一种方法来通知编译器所提出的建议的类型。是否有一些(计划中的)API可以做到这一点?

我根据您的提问添加了一些示例;如果不合适,请更换。如果这些例子是正确的,你不总是会遇到这样的问题:建议中嵌入了人类文本吗?例如,“change
X
to
Y
”必须解析为忽略“change”和“to”部分。这似乎是一个与字符串非常不同的数据结构。好吧,我可能需要澄清:
span\u suggestion
获取要替换的span以及要替换的代码。但有时我们只有不完整的代码,例如,
if let Some(m)=too{..}
,其中,
表示匹配臂。