对于非消费迭代器的“Vec”,类型提示已中断

Type hinting is broken for non consuming iterator over `Vec`

提问人:xc wang 提问时间:5/18/2022 最后编辑:xc wang 更新时间:5/18/2022 访问量:222

问:

在我的 VSCode IDE(rust + rust-analyzer)中,

let v = vec![1, 2, 3];
for x in v.iter() {
    println!("{}", x);
}

上面的代码无法正确显示自动类型提示(虽然大多数其他提示工作正常),但几周前它们确实如此。问题是:

  1. let v = vec![1, 2, 3];类型提示不适用于 。当鼠标移动时,它显示vvlet v: {unknown}

enter image description here

  1. v.iter()键入 但是,列表中存在,我在自动完成列表中找不到该方法。iter()v.into_iter()

enter image description here

  1. for x in v.iter()类型提示不起作用,即使我明确宣布 因此,我不能使用自动提示的方法。xv : Vec<u8> = vec![1,2,3];x

如何解决这些问题?

我使用的版本是最新的(到 2022 年 5 月 17 日):

技术号码 : 1.67.1-1651841865

Rust:nightly-x86_64-unknown-linux-gnu 不变 - rustc 1.63.0-nightly (4c5f6e627 2022-05-17)

锈分析器:v0.3.1059

锈分析仪

评论

0赞 hkBst 5/18/2022
使用能解决你的问题吗?vec![1i32, 2, 3]
0赞 Netwave 5/18/2022
类型推断在哪里?我猜你的意思是在你的编辑器中输入提示......?
0赞 xc wang 5/18/2022
不,添加后问题仍然相同。@hkBst_i32
0赞 xc wang 5/18/2022
是的,这就是我真正的意思。我会纠正这种说法。@Netwave
0赞 hkBst 5/18/2022
您运行的是每个软件的哪个版本?

答: 暂无答案