写点什么

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

评论

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

豆包Marscode 课程回顾 | AI 编程课「入门开发者系列」

TRAE

手把手教你华为鸿蒙开发之第十一节

The Wang

华为

和鲸Heywhale人工智能通识课解决方案重磅上线!

ModelWhale

Python 人工智能 大数据 教改

区块链软件系统开发:从设计到实现的全面指南

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发

虚拟化世界,正上演一场「星际穿越」

白洞计划

AI

枫清科技高雪峰:从数据到知识,重塑产业智能化的核心驱动力

Fabarta

AI应用 #大模型 生成式 AI 应用 企业 AI 应用

避免故障逃逸最佳实践

FunTester

如何动态调试线程池?

江南一点雨

文字稿 | MatrixOne2.0.0:AI向量与高可用能力的重磅升级

MatrixOrigin

数据库

手把手教你华为鸿蒙开发之第十节

The Wang

华为 huawei

央视《新闻联播》点赞广域铭岛:为新型工业化提供强劲动能

新消费日报

Altair 技术助力 Cleveland Golf 打破传统设计局限,实现新款 HiBore XL 球杆强大的功能

Altair RapidMiner

AI 设计 仿真 智能制造 altair

零代码赋能港澳企业数字化转型

明道云

惊艳!全网首份“架构师成长笔记”GitHub狂澜9000星

Summer

Java 编程 程序员 面试 架构师

来自阿里大佬的洗礼!全网独家的SpringBoot核心文档,讲的太清晰了

Summer

Java 程序员 面试 架构师 架构师大厂

Lumoz的ZK算力网络,加速以太坊3.0的到来

BlockChain先知

Lumoz的ZK算力网络,加速以太坊3.0的到来

股市老人

为什么ETH 3.0需要Lumoz的ZK算力网络?

石头财经

一站式在线打字学习平台-巧手打字通

巧手打字通

键盘 打字练习 打字软件 打字练习软件 打字训练

手把手教你华为鸿蒙开发之第十二节

The Wang

华为

全面解析SD-WAN组网:提升企业网络效率

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SD-WAN国际专线

区块链软件系统海外宣发:全球化市场中的策略与实施

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 交易所开发代币开发

市场规模超 60 亿美元,语音如何改变对话式 AI?

声网

Spring Boot 应用 “Connection is closed” 及 MySQL 空闲超时断开连接解决方案

沉默的老李

springboot MySQL 5.7

AI测试 前 OpenAI 音频 AI 负责人获投 4000 万,打造情感通用智能;TEN Agent 一键让 Coze Bot 开口对话

声网

是观察者,也是实践者!|华为云开源开发者大前端技术论坛完满结束

OpenTiny社区

OpenTiny TinyVue TinyEngine 前端开源 DevUI

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