Rust 是一种多范式、通用、编译型编程语言。
Rust 1.78新版本已经发布, 新功能已实施,以及一些 API 的稳定性、Cargo 的改进等等。
对于那些不了解这种编程语言的人来说,他们应该知道 关注内存安全并提供实现高并行性的手段 作业,同时避免使用垃圾收集器和运行时(运行时减少到基本初始化和标准库维护)。
Rust 1.78 的主要新特性
在这个新版本中 Rust 1.78 提高了对 Windows 10 的最低要求, 除此之外 编译器已更改为使用 LLVM 18。当将 LLVM 18 用于 x86-32 和 x86-64 架构时,与 u128 和 i128 类型关联的 ABI 已更改。
关于这些变化,最突出的特征之一是 Rust 现在支持属性命名空间 «#[诊断]“, 什么 提供了一种影响产生的错误消息的方法 由编译器。这些被视为编译器不需要使用的提示,提供编译器无法识别的诊断也不是错误。这 即使并非所有编译器都支持源代码,也允许源代码提供诊断,无论是不同的版本还是完全不同的实现。
另外, Cargo 中的全局缓存已稳定 它存储有关最近数据使用情况的信息。 该缓存位于 $CARGO_HOME/.global-cache 并使用 SQLite 来实现。它会自动更新以反映索引、crate、代码目录、git clone 和 git checkout 的最新更改,提高开发项目中依赖管理操作的效率和速度。
Rust 1.78 的另一个新特性是 Rust 标准库具有 不安全函数前提条件的各种声明 现在可以推迟到代码生成。这允许执行这些检查 历史上它们仅在构建中启用 «#[cfg(调试断言)]» 避免影响发布版本的性能。通过此更改,用户现在可以检测代码中未定义的行为,尽管有关检查数量的详细信息通常不稳定。要启用检查,现在只需为代码的测试或调试版本启用调试断言即可。
除此之外,现在 标准库函数的行为 影响指针和扇区的对齐 现在它可以在运行时预测并取决于输入数据。 功能 指针::align_offset,它计算对齐指针的偏移量,现在返回 使用::最大 仅当操作失败时。功能 slice::align_to 和 slice::align_to_mut,它将切片转换为具有对齐的中间切片以及原始开始和结束切片的表示,现在始终返回最大的中间部分。
另一方面,有人提到 以下 API 已移至“稳定”类别: impl Read for &Stdin, impl From对于 io:: 错误 和实施 暗示 这允许使用 ?尺寸.
, 其他突出的变化 这个新版本:
- 对添加 wasm32-wasip1 目标平台的第二级支持已实现。第二级支持涉及装配保证。
- wasm32-wasi-preview1-threads 平台已重命名为 wasm32-wasip1-threads。
- 在 Cargo 包管理器中,锁文件版本 4 (lockfile v4) 已经稳定。 Cargo 现在使用此版本作为标准,以确保跨项目依赖关系的一致性和高效管理。
如果你是 有兴趣了解更多关于它的信息, 您可以在中查看详细信息 以下链接。
最后,对于那些 有兴趣从以前版本的 Rust 升级 通过 rustup 安装,您可以通过以下方式获取新版本的 Rust 1.78:
rustup update stable
如果您的系统上尚未安装 Rust,您可以通过在终端中运行以下命令来安装:
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh