首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行得不好吗?

执行得不好吗?
EN

Stack Overflow用户
提问于 2022-07-11 11:48:52
回答 1查看 111关注 0票数 0

我不允许在变量声明中进行不相关的隐藏。

但是现在这个规则在这两行上给出了一个错误

代码语言:javascript
复制
let overflow: bool;
(self.standing, overflow) = self.standing.overflowing_add(reason.to_severity());

我得到的皮毛错误是:

代码语言:javascript
复制
error: `overflow` shadows a previous, unrelated binding
  --> src/models/peer.rs:73:25
   |
73 |         (self.standing, overflow) = self.standing.overflowing_add(reason.to_severity());
   |                         ^^^^^^^^
   |
note: the lint level is defined here
  --> src/lib.rs:1:9
   |
1  | #![deny(clippy::shadow_unrelated)]
   |         ^^^^^^^^^^^^^^^^^^^^^^^^
note: previous binding is here
  --> src/models/peer.rs:73:10
   |
73 |         (self.standing, overflow) = self.standing.overflowing_add(reason.to_severity());
   |          ^^^^^^^^^^^^^
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#shadow_unrelated

我使用的是锈蚀编译器的1.62.0版本。

我的想法是这种行为是错误的。在这个规则下,应该允许上面的行。我说错了吗?

这里可以看到这个问题。感谢@Jmp为这个问题写了一幅插图。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-11 12:00:09

这是一个报告的bug - 防锈#6141

我认为问题在于,销毁赋值被分解为重用相同跨度的let声明,这会导致clippy认为它具有相同的名称,从而隐藏起来。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72938116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档