写点什么

Rust 1.3 提升了 API 的稳定性

  • 2015-10-09
  • 本文字数:1135 字

    阅读完需:约 4 分钟

近日,Rust 核心团队发布了 Rust 1.3 稳定版,该版本提升了 Rust 语言的性能及 API 的稳定性。

在 Rust 官方博客文章" Rust 1.3 发布"中,团队介绍说, 该版本的发布使得 Rust 语言的稳定性有了大幅提升, 这其中"包含了新的 Duration API 函数以及对 Error 和 Hash/Hahser 的改进", 未来对 std::time 模块的改进有望在 1.5 版本中实现。

负责 Duration 稳定性方面工作 ( commit 26818 ) 的 Rust 语言开发人员 Steven Fackler 说,std::time 模块和 Duration 类型的稳定性都得到了加强。Fackler 强调说,Duration::span 仍然不稳定,Duration 的 Display 实现方法被删除了, 原因是"它还在反复修改中并且所有关于稳定类型的功能实现事实上还算是稳定的"。

Fackler 指出,这个提交会影响到任何使用 Duration 的 Display 实现的开发者。

继今年五月 Rust 1.0 的发布,Rust 迎来了一个快速编译时代以及对于DST( dynamically-sized types ) 的全面支持。1.3 版本的发行说明重点强调说"新对象的默认生命周期开始于在对新对象生命周期变化的一个警告周期之后"。这是一个有可能影响其他功能的变化,例如将 &'a Box<Trait>&'a Box<Trait+'a>解释为&'a Box<Trait+'static>

关于这个变化,开发者 Aaron Turon RFC1156 文档中说道:

“当我们开始着手建立默认的对象边界时,[RFC599](https://github.com/rust-lang/rfcs/blob/master/text/0599-default-object-bound.md) 文档规定&'x Box(和&'x mut Box)应该扩展为&'x Box<Trait+'x>(和&'x mut Box<Trait+'x>)。相对于那种出现在引用之外的 Box 类型,这种类型默认使用static (Box<Trait+'static>。做出这个决定的原因是,这么做意味着按照此类格式书写的函数可以接收更多的对象。”

Rust 1.3 稳定版同时还提供了一些性能方面的改进,包括使用双路算法 (two way) 提升子字符串的搜索速度并将此做成固定的 API,性能远超之前的实现方法。

其他值得关注的改进还包括“对于提升 Vec::resize 和 Read::read_to_end零字节填充速度的改进。”

提到 bug 25483 (使用 StrSearcher 完成原始字符串搜索), Rust 开发者 bluss 说"双路搜索算法的常量空间开销非常小,不需要动态分配空间。我们的实现方法速度很快,尤其是当算法需要使用额外的的字节空间时,通常这些空间用来为许多不匹配情况 (no-match cases) 提高搜索速度"

Rust 1.3 同时还提供了对Windows XP lint capping 的支持。更多详细内容请参考发行说明

查看英文原文: Rust 1.3 Brings Stabilisation for APIs


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-10-09 19:002436

评论

发布
暂无评论
发现更多内容

电竞新时代:ToDesk/网易云/START三大云游戏平台深度横评,谁是真王者?

小喵子

云计算 云电脑 ToDesk 云电竞 网易云游戏电脑

Omnissa Dynamic Environment Manager 2503 - 个性化动态 Windows 桌面环境管理

sysin

horizon

Apipost接口调试全解:从HTTP到gRPC,程序员必备的“协议生存指南

数据追梦人

Apipost协议全栈支持+国密算法,调试效率飙出星际!

数据追梦人

飞行器半实物联合仿真:技术解析与应用实践

DevOps和数字孪生

一天 Star 破万的开源项目「GitHub 热点速览」

电子尖叫食人鱼

GitHub

AI英语能力评估APP的核心功能

北京木奇移动技术有限公司

AI教育 软件外包公司 AI技术应用

VMware ESXi 8.0U3e macOS Unlocker & OEM BIOS Lenovo (联想) 定制版

sysin

esxi

AI 英语能力评估App的开发

北京木奇移动技术有限公司

AI技术 AI教育 软件外包公司

Flutter跨端范式重构:小程序容器化驱动的高效App开发基座

xuyinyin

如何高效的进行生产管理?

积木链小链

数字化转型 智能制造 生产管理 车间管理

用户说 | 手把手体验通义灵码 2.0:AI 程序员如何让我从“调参侠”进阶“架构师”?

阿里云云效

阿里云 云原生 通义灵码

2025 AI+研发数字峰会,我们在「AI 生产力工具创新论坛」等你来

阿里巴巴云原生

阿里云 云原生 通义灵码

三门峡文旅集团:用友BIP企业AI全栈云赋能黄河流域文旅产业升级

用友BIP

容器技术演进:从云原生基座到小程序生态重构

xuyinyin

用户说 | 手把手体验通义灵码 2.0:AI 程序员如何让我从“调参侠”进阶“架构师”?

阿里巴巴云原生

阿里云 云原生 通义灵码

2025 AI+研发数字峰会,我们在「AI 生产力工具创新论坛」等你来

阿里云云效

阿里云 云原生 通义灵码

Omnissa Horizon Windows OS Optimization Tool 2503 - Windows 系统映像优化工具

sysin

horizon

【未来已来,智启新篇】三星Galaxy S25系列:定义旗舰体验

新消费日报

启动!张一元携手用友BIP企业AI全栈云,百年茶香数智焕新

用友BIP

广州生物医药产业全景解析:如何抓住未来千亿级产业机遇?

Y11

找工作 招聘 就业 广州 找实习

Omnissa App Volumes 4, version 2503 - 实时应用程序交付系统

sysin

horizon

国产直升机发展现状及思考

DevOps和数字孪生

航空航天 低空经济

Omnissa ThinApp 2503 - 应用虚拟化软件

sysin

horizon

五一前再带大家卷一波Go高质量面试题

王中阳Go

Go

群贤毕至成果丰,共绘行业新未来,2025慕尼黑上海电子展圆满收官!

极客天地

故障定位系列-2-服务&接口双粒度动态拓扑,精准定位共享连接池故障

乘云数字DataBuff

可观测性 故障定位 智能运维 运维监控

SvelteKit 最新中文文档教程(23)—— CLI 使用指南

冴羽

前端 前端框架 React Svelte SvelteKit

热更新技术的范式重构:AI驱动下的智能生态基座构建

xuyinyin

用友助力郴电国际司库建设项目成功上线,战略合作开启数智化转型新征程

用友BIP

稳就业,保民生:2025年就业形势与实操指南,助你把握职场先机

Y11

找工作 招聘 就业 找实习 改简历

Rust 1.3提升了API的稳定性_开源_James Chesters_InfoQ精选文章