2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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:002465

评论

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

YashanDB数据库在云计算环境中的应用模式

数据库砖家

YashanDB数据库中的数据迁移步骤与最佳实践

数据库砖家

YashanDB数据库在医药行业的数据处理应用

数据库砖家

YashanDB数据库中的数据压缩技术及优势介绍

数据库砖家

医科+AI人才培养系列第二场 | 南医大副教授沈思鹏生物统计学课程演示

ModelWhale

南方医科大学 生物统计学

YashanDB数据库在企业数据治理中的角色与意义

数据库砖家

YashanDB数据库在数据仓库建设中的应用价值

数据库砖家

YashanDB数据库在能源管理中的应用探索

数据库砖家

YashanDB数据库在物联网数据处理中的优势表现

数据库砖家

YashanDB数据库中最佳的数据建模实践

数据库砖家

YashanDB数据库中的数据压缩技术应用探讨

数据库砖家

Auto Mouse Click for Mac|解放双手!鼠标连点/挂机一键搞定

柠檬与橘子

大数据-15-Hive 元数据管理与存储 Metastore Metadata 内嵌模式 本地模式 远程模式

武子康

大数据 hadoop mapreduce hive

YashanDB数据库在医疗行业的数据管理应用

数据库砖家

YashanDB数据库中的数据加密机制详解

数据库砖家

YashanDB数据库在云计算环境中的应用与前景

数据库砖家

YashanDB数据库中的数据采集与实时处理技术解析

数据库砖家

FastRawViewer for Mac|RAW 文件秒开神器,摄影师必备!

柠檬与橘子

微擎生态驱动的门店数字化增长

微擎应用市场

微擎生态赋能的智能化租赁管理

微擎应用市场

YashanDB数据库在云计算环境中的应用前景如何?

数据库砖家

YashanDB数据库在智能城市应用中的机遇与挑战

数据库砖家

YashanDB数据库中SQL语句优化技巧详解

数据库砖家

YashanDB数据库中的访问控制策略与实现

数据库砖家

YashanDB数据库中的数据清理与转化技巧

数据库砖家

微擎生态驱动的全场景社交商业赋能

微擎应用市场

DataBuff 多模态AI在可观测平台上的应用实践(龙蜥系统运维联盟Meetup分享)

乘云数字DataBuff

大模型 多模态模型

微擎生态驱动的全场景会议数字化管理

微擎应用市场

微擎生态驱动的本地化服务智能调度

微擎应用市场

YashanDB数据库在社交媒体平台中的数据管理实践

数据库砖家

YashanDB数据库中的数据一致性保障机制分析

数据库砖家

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