当前位置:首页 > 科技  > 软件

Rust 又发布新的 1.79.0 稳定版本了!

来源: 责编: 时间:2024-06-24 17:15:13 231观看
导读在 2024 年 6 月 13 日,Rust 团队又发布 Rust 1.79.0 新版本了,一起来看看该版本到底发生了哪些变化吧。对于喜欢尝新的伙伴,又可以体验到更多的创新和改进了。老规则,如果你渴望尝试最新版本的 Rust,只需通过 rustup 工具

在 2024 年 6 月 13 日,Rust 团队又发布 Rust 1.79.0 新版本了,一起来看看该版本到底发生了哪些变化吧。对于喜欢尝新的伙伴,又可以体验到更多的创新和改进了。NuL28资讯网——每日最新资讯28at.com

NuL28资讯网——每日最新资讯28at.com

老规则,如果你渴望尝试最新版本的 Rust,只需通过 rustup 工具即可轻松升级。老规则,如果你渴望尝试最新版本的 Rust,只需通过 rustup 工具即可轻松升级。NuL28资讯网——每日最新资讯28at.com

$ rustup update stable

新的 1.79.0 稳定版中包含了哪些内容呢?NuL28资讯网——每日最新资讯28at.com

尽管 Rust 1.79. 0 版本在规模上相对较小,但它仍然秉承了Rust 团队一贯的风格呀,哈哈!即使是细微的更新也能汇聚成显著的进步。NuL28资讯网——每日最新资讯28at.com

内联 const 表达式

在 Rust 1.79.0 版本中,内联 const 表达式被稳定化,内联 const 表达式允许在表达式位置上使用 const 块,而无需进行额外的声明。NuL28资讯网——每日最新资讯28at.com

这样的常量代码更加简洁和可读,尤其是在泛型上下文中,以前你可能需要先声明一个 const 常量,然后再使用它。然而现在你就能直接在需要的地方使用 const 块来创建常量值。NuL28资讯网——每日最新资讯28at.com

之前的写法:NuL28资讯网——每日最新资讯28at.com

const EMPTY: Option<Vec<u8>> = None;let foo = [EMPTY; 100];

现在可以写成:NuL28资讯网——每日最新资讯28at.com

let foo = [const { None }; 100];

需要注意的是,这对于通用上下文也是如此,以前需要使用关联常量的详细特征声明:NuL28资讯网——每日最新资讯28at.com

fn create_none_array<T, **const** N: usize>() -> [Option<T>; N] {      [**const** { None::<T> }; N]  }

这种改进也适用于泛型上下文,以前需要使用关联常量的详细特征声明,现在可以直接使用内联 const 表达式,无需额外声明,使得代码更加简洁性,还增强表达能力,易于阅读。NuL28资讯网——每日最新资讯28at.com

关联类型位置的 Bound

在 Rust 1.79 稳定中了关联项边界语法,使得能够将边界放在其他边界内的关联类型位置,即  T: Trait<Assoc: Bounds...>。这样就避免了仅为了约束关联类型而提供额外的显式泛型类型的需要。该功能允许在一些以前不可能或对使用施加了额外的、不必要的限制的地方指定界限,譬如:NuL28资讯网——每日最新资讯28at.com

where 子句NuL28资讯网——每日最新资讯28at.com

在这个位置上,相当于将边界分成两个(或多个)where 子句。譬如:NuL28资讯网——每日最新资讯28at.com

where T:Trait<Assoc: Bound>

相当于:NuL28资讯网——每日最新资讯28at.com

where T: Trait, <T as Trait>::Assoc: Bound

更多的可以阅读官网文档获取。NuL28资讯网——每日最新资讯28at.com

延长自动临时寿命延长

Rust 1.79.0 稳定版改进了生命周期处理,使得 match 和 if 表达式中的临时项自动获得更长的生命周期。NuL28资讯网——每日最新资讯28at.com

let a = if true { // 假设这是一个临时值    let temp = create_temp_value();    &temp // 引用临时值} else { // 引用另一个临时值    &create_temp_value() };

再来看 match 的构造:NuL28资讯网——每日最新资讯28at.com

let a = match () { _ => {  ..;  &temp() }}

现在与之前的行为一致:NuL28资讯网——每日最新资讯28at.com

let a = {  ..;  &temp() // lifetime is extended };

此行为是向后兼容的,因为这些程序过去编译失败。NuL28资讯网——每日最新资讯28at.com

当然还有了,还有一些稳定API等等,更多建议多关注官网动态,才能获取一些实时性信息。NuL28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-96047-0.htmlRust 又发布新的 1.79.0 稳定版本了!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Python 处理 CSV 文件的 12 个高效技巧

下一篇: C++多线程 join 与 detach 分离线程的区别

标签:
  • 热门焦点
  • 女孩租房开2小时空调用完100元电费引热议:5级能耗惹不起 月薪过万电费也交不起

    近日,江苏苏州一女孩租房当天充值了100元电费,开着空调不到2小时发现电费已用完。对于为什么这个快,房东表示,电表坏了这种情况很多,之前也遇到过,给租客换
  • Raft算法:保障分布式系统共识的稳健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可复制、可冗余、可容错”)的首字母缩写。Raft算法是一种用于在分布式系统
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 零售大模型“干中学”,攀爬数字化珠峰

    文/侯煜编辑/cc来源/华尔街科技眼对于绝大多数登山爱好者而言,攀爬珠穆朗玛峰可谓终极目标。攀登珠峰的商业路线有两条,一是尼泊尔境内的南坡路线,一是中国境内的北坡路线。相
  • 猿辅导与新东方的两种“归途”

    作者|卓心月 出品|零态LT(ID:LingTai_LT)如何成为一家伟大企业?答案一定是对&ldquo;势&rdquo;的把握,这其中最关键的当属对企业战略的制定,且能够站在未来看现在,即使这其中的
  • ESG的面子与里子

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之三伏大幕拉起,各地高温预警不绝,但处于厄尔尼诺大&ldquo;烤&rdquo;之下的除了众生,还有各大企业发布的ESG报告。ESG是&ldquo;环境保
  • 东方甄选单飞:有些鸟注定是关不住的

    文/彭宽鸿编辑/罗卿东方甄选创始人俞敏洪带队的&ldquo;7天甘肃行&rdquo;直播活动已在近日顺利收官。成立后一年多时间里,东方甄选要脱离抖音自立门户的传闻不绝于耳,&ldquo;7
  • 造车两年股价跌六成,小米的估值逻辑变了吗?

    如果从小米官宣造车后的首个交易日起持有小米集团的股票,那么截至2023年上半年最后一个交易日,投资者将浮亏59.16%,同区间的恒生科技指数跌幅为52.78%
  • 超级标准版旗舰!iQOO 11S全球首发iQOO超算独显芯片

    上半年已接近尾声,截至目前各大品牌旗下的顶级旗舰都已悉数亮相,而下半年即将推出的顶级旗舰已经成为了数码圈爆料的主流,其中就包括全新的iQOO 11S系
Top