diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 070f63e7..184ddd64 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -368,3 +368,4 @@ - [1.66](appendix/rust-versions/1.66.md) - [1.67](appendix/rust-versions/1.67.md) - [1.68](appendix/rust-versions/1.68.md) + - [1.69](appendix/rust-versions/1.69.md) diff --git a/src/appendix/rust-versions/1.68.md b/src/appendix/rust-versions/1.68.md index d3123d65..3e35230a 100644 --- a/src/appendix/rust-versions/1.68.md +++ b/src/appendix/rust-versions/1.68.md @@ -9,7 +9,7 @@ $ rustup update stable ``` -## Cargo 稀疏注册协议 (spare protocol) +## Cargo 稀疏注册协议 (sparse protocol) Cargo的“稀疏”注册协议已经稳定,它是用来读取注册在 crates.io 上的 crates 的索引的基础设施。以前的 git 协议(目前仍然是默认协议)会克隆一个包括所有 crates 的索引的仓库,但这已经开始遇到扩展限制问题,在更新该仓库时会出现明显的延迟。新协议应在访问 crates.io 时提供显着的性能提升,因为它只会下载有关实际用到的 crates 的索引。 diff --git a/src/appendix/rust-versions/1.69.md b/src/appendix/rust-versions/1.69.md new file mode 100644 index 00000000..8e527180 --- /dev/null +++ b/src/appendix/rust-versions/1.69.md @@ -0,0 +1,47 @@ +# Rust 新版解读 | 1.69 | cargo fix + +> Rust 1.69 官方 release doc: [Announcing Rust 1.69.0 | Rust Blog](https://blog.rust-lang.org/2023/04/20/Rust-1.69.0.html) + +通过 [rustup](https://www.rust-lang.org/tools/install) 安装的同学可以使用以下命令升级到 1.69 版本: + +```shell +$ rustup update stable +``` + +## Cargo 提供自动修复建议 + +在 Rust 1.29.0 版本添加的 `cargo fix` 子命令,能够自动修复一些简单的编译错误。从那以后,能够自动修复的错误/警告原因的数量一直在稳步增加。此外,还增加了对自动修复一些简单的 Clippy 警告的支持。 + +为了让更多人注意到这些能力,现在当检测到可自动修复的错误时,Cargo 会建议运行 `cargo fix` 或 `cargo clippy --fix` 命令: + +```shell +warning: unused import: `std::hash::Hash` + --> src/main.rs:1:5 + | +1 | use std::hash::Hash; + | ^^^^^^^^^^^^^^^ + | + = note: `#[warn(unused_imports)]` on by default + +warning: `foo` (bin "foo") generated 1 warning (run `cargo fix --bin "foo"` to apply 1 suggestion) +``` + +注意上面的完整命令(即包含 `--bin foo`)仅在你想要精确修复一个单独的 crate 时需要附上。默认执行 workspace 下所有 fixs 只需要 `cargo fix` 。 + +## 构建脚步默认不再包含调试信息 + +为了提高编译速度,Cargo 现在默认避免在构建脚本中发出调试信息。构建脚本成功执行时不会有可见的效果,但构建脚本中的回溯(backtraces)将包含更少的信息。 + +所以如果想要 debug 构建脚本,需要额外开启调试信息,在 `Cargo.toml` 文件里添加 + +```text +[profile.dev.build-override] +debug = true +[profile.release.build-override] +debug = true +``` + +## Others + +其它更新细节,和稳定的API列表,参考[原Blog](https://blog.rust-lang.org/2023/04/20/Rust-1.69.0.html#stabilized-apis) +