Rust的设计目的是使开发快速安全的系统级软件变得容易。这是最新消息。
Rust编程语言的独特方法使代码比C、C++、Go和您可能使用的其他语言具有更好的性能和更少的妥协。它还定期更新,通常每月更新一次。
在哪里下载最新的Rust版本
如果您已经通过rustup安装了早期版本的Rust,则可以通过以下命令访问最新版本:
$ rustup update stable
Rust 1.66的新功能
Rust 1.66于2022年12月15日推出,使具有整数表示的枚举现在可以使用显式判别符,即使它们有字段。以前,开发人员可以在带有表示的枚举上使用显式判别符,但前提是它们的变体都没有字段。当在两种语言中枚举的表示必须匹配的语言边界之间传递值时,显式判别法非常有用。
同样在Rust 1.66中:
- 一个新稳定的black_box函数接受一个传递的值,并将其返回。编译器将black_box视为可以对其输入执行任何操作并返回任何值的函数。当您不希望优化发生时,例如在基准测试期间或检查编译器生成的机器代码时,这对于禁用优化非常有用。
- 开发人员可以使用货物移除来移除依赖项。Rust 1.62引入了cargo add,这是一个命令行实用程序,用于向项目添加依赖项。
- 开发人员现在可以使用=模式中的x范围。
- Linux构建现在分别使用LTO和BOLT优化了rustc前端和LLVM后端,提高了运行时性能和内存使用率。
- API已经稳定,例如proc_macro::Span::source_text和Option::unzip。
Rust 1.65的新功能
Rust 1.65于2022年11月3日推出。在这个版本中,通用关联类型(GAT),这是一个备受期待的功能,已经在工作了几年,终于被引入了。GAT允许开发人员在相关类型上定义生存期、类型和常量泛型。GAT启用了以前在Rust中不可能的模式。
同样在Rust 1.65中:
- 引入了一种新类型的let语句,let else,它具有一个可拒绝的模式和一个在该模式不匹配时执行的发散else块。
- 普通块表达式现在可以标记为中断目标,从而提前终止该块。
- 为了改进编译,拆分调试信息的支持现在可以在Linux上稳定使用,因为从Rust 1.51开始,macOS就支持拆分调试信息。使用此功能,-Csplit-debuginfo=unpacked将调试信息拆分为多个.dwo-DWARF对象文件,而-Csplit-dbuginfo=packed将生成一个.dwp-DWARF包以及一个输出二进制文件,其中包含打包在一起的所有调试信息。
- API已经稳定,如std::backtrace::backtrace、Bound::as ref和std::io::read_to_string。
- MIR(中级中间表示)内联现在可用于优化编译,从而改善真实世界中的编译时间。
- 在调度构建时,Cargo现在对挂起作业的队列进行排序,从而提高性能。
相关视频:使用Rust开发更安全的软件
快速了解新的Rust,它旨在创建快速的系统级软件。这两分钟的动画讲解器展示了Rust如何绕过内存和管理这两个棘手的编程问题。
Rust 1.64的新功能
2022年9月22日发布的Rust 1.64.0稳定了IntoFuture特性,以增强、等待和改进API。IntoFuture与IntoIterator特性相似,但IntoFutur改变了.await的工作方式,而不是支持…in…循环。
[参加11月8日的虚拟峰会-首席信息官云峰会的未来:掌握复杂性和数字创新–立即注册!]
使用IntoFuture,.await关键字可以等待的不仅仅是功能;它可以等待任何可以通过IntoFuture转换为Future的东西,以帮助使API更加用户友好。未来,Rust的开发人员希望通过在类型别名中支持impl Trait来简化新命名期货的开发。这将简化类型别名签名,使IntoFuture的实现更容易,并通过从类型别名中删除Box使其更具性能。
同样在Rust 1.64中:
- 该语言在core::ffi中提供了所有c_*类型别名,以及core::ffin::CStr,用于处理c字符串。Rust 1.64还提供了alloc::ffi::CString,用于仅使用alloc板条箱而不是完整的std库处理拥有的C字符串。
- rust分析器是rust语言服务器协议的一种实现,现在作为rust所包含的工具集合的一部分。这使得下载和访问rust分析器更容易,并使其在更多平台上可用。该工具作为rustup组件提供,可以使用命令rustup component add rust_analyzer安装。
- 当在一个Cargo工作空间中处理相关库或二进制板条箱的集合时,开发人员现在可以避免板条箱之间的公共字段值重复,例如公共版本号或存储库URL。
- Ipv6Addr、Ipv4Addr、SocketAddrV4和SocketAdderV6的内存布局已更改为更高效和紧凑。
- Rust编译器的Windows版本现在使用了配置文件引导的优化,从而提高了性能。
- 许多方法和特性实现已经稳定,包括num::NonZero*::checked_mul、num::NonZero*:。
- 登录 发表评论