这以前工作得很好,但是在将Rust升级到rustc 1.67.0-nightly (b7bc90fea 2022-11-21)
之后(有一段时间没有这样做了),它不再工作了:
我已经启用了once_cell
。
#![feature(once_cell)]
use std::lazy::Lazy;
产生错误:
error[E0432]: unresolved import `std::lazy`
39 | use std::lazy::Lazy;
| ^^^^ could not find `lazy` in `std`
我已经在GitHub上搜索了rustlang问题,似乎没有人有同样的问题。
我已经检查了最新的文档,在位置方面没有任何变化。
https://doc.rust-lang.org/std/lazy/index.html
如果lazy在std中,但是编译器找不到它,在这种情况下我需要做什么?需要重新安装吗?
你找错地方了。每晚的文档在:
https://doc.rust-lang.org/nightly/std/
…这表明这个模块确实不存在了,因为它被移动到Lazy
的std::cell
(现在被命名为LazyCell
)和SyncLazy
的std::sync
(现在被命名为LazyLock
)。
这发生在PR #98165 -一次单元格重命名中。