写点什么

Rust 2018 临近:设法从 Rust 2015 过渡

  • 2018-08-18
  • 本文字数:894 字

    阅读完需:约 3 分钟

据 Rust 核心团队报道, Rust 2018(对应 Rust 1.31)的第一个版本将于 2018 年 12 月 6 日准备就绪。从 Rust 2015 首次发布以来,大量新特性合并到一个新的标签下,大大丰富了这门语言。

据 InfoQ 报道,Rust 2018 侧重于提高语言的生产力,就是说,侧重于编译器性能,对许多语言特性进行优化,进一步改进工具、库和文档。新的 Rust 2018 语言特性有的已经出现在 Rust 近日的发布中,有的将会出现在 Rust 1.31 之前的版本中,包括 impl Trait、macros 2.0、SIMD 支持、“非词法作用域生命周期(non-lexical lifetimes)”、async/await 支持及模块改造。

最值得注意的是, Rust 2018 将稍微放宽稳定性保证,从而为可能破坏现有 Rust 2015 代码的语言变更提供支持。例如,Rust 2018 将包含 try 关键字,这可能会与一些代码中的函数或变量名冲突。

为了解决这个问题和其他类似的可能性,帮助开发人员设法从 Rust 2015 过渡到 Rust 2018,Rust 将遵循 C++ 和 Java 的步骤。这有几层含义:

  • Rust 2018 可以选择加入。如果你希望在现有的项目中使用 Rust 2018,那么你可以在项目的 cargo.toml 文件中加入 edition=‘2018’。为了防止版本激活码丢失,Rust 编译器将默认使用 Rust 2015。所有使用 cargo new 新建的项目将默认加入 edition = ‘2018’。
  • 由于 Rust 编译器既支持 Rust 2015,又支持 Rust 2018,所以你可以在同一个项目中组合使用依赖其中任意一个 Rust 版本的依赖项。这让你可以在 Rust 2018 程序中使用 Rust 2015 依赖项,也可以在 Rust 2015 项目中使用 Rust 2018 依赖项。
  • 语言核心将保持不变,就是说,Rust 2018 将只包含表层的破坏性更改,如上面提到的 try 关键词,或者是一些警告转换成了错误,等等。

此外,Rust 2018 将包含一个新工具 cargo fix,这个工具可以帮助开发人员转换现有的代码库,实现代码的逐步过渡,采用 Rust 2018 推荐的新特性和习惯用语。

另外,Rust 核心团队已于近日发布了 Rust 1.28 ,引入了全局分配器,让开发人员可以提供自己的内存分配器,以代替系统分配器; NonZero 数值类型,优化内存;改进错误信息和格式化。

查看英文原文: Rust 2018 is Approaching: Managing the Transition from Rust 2015

2018-08-18 03:361767
用户头像

发布了 1008 篇内容, 共 397.5 次阅读, 收获喜欢 345 次。

关注

评论

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

技术人小故事-团队愿景篇-第1段

Ian哥

28天写作

【薪火计划】08 - 非暴力沟通

AR7

管理 28天写作

谬误词典:置信度

lidaobing

随机漫步的傻瓜 28天写作 谬误词典

感谢 Gridea,让我有动力写作

和牛

程序员

架构师训练营第七周课后作业

万有引力

极客大学架构师训练营大作业

Meow

网络工程师职业指南

架构师第 4 课作业及学习总结

小诗

「架构师训练营第 1 期」

资深大牛带你了解源码!阿里内部Android笔记火爆IT圈,醍醐灌顶!

欢喜学安卓

android 程序员 面试 移动开发

喜提offer!支付宝Java研发岗四面,从基础到项目在到架构与业务

Java架构之路

Java 程序员 架构 面试 编程语言

手把手教你如何巧用Github的Action功能

flutter android 持续集成

MySQL中的哥哥表、妹妹字段,是什么鬼?

Java MySQL 数据库

jstat使用实用教程

JavaPub

Java JVM

SpringBoot系列1——概述和快速入门

程序员的时光

springboot 七日更 28天写作

关于拼多多价值的思考

.

28天写作

智能电车小白从入门到了解(Day1/28)

mtfelix

自动驾驶 28天写作 智能电车 电动汽车

架构师第 3 课作业及学习总结

小诗

「架构师训练营第 1 期」

意识会在哪个早晨降落——「幻想短篇1/28」

道伟

28天写作

腾讯T3面试官透露!360°深入了解Flutter,聪明人已经收藏了!

欢喜学安卓

android 程序员 面试 移动开发

架构师训练营第 1 期 - 第 12 周 - 学习总结

wgl

「架构师训练营第 1 期」

爱了! Alibaba技术官甩出的“阿里内部Java成长笔记”,差距对比真的是不止一点点

Java架构之路

Java 程序员 架构 面试 编程语言

架构师必会知识大合集:五位架构师手写于西溪园区的技术使用心得

Java架构之路

Java 程序员 架构 面试 编程语言

极客大学架构师训练营大作业

Meow

芯片破壁者(二十四):1987战役启示录

脑极体

LeetCode题解:17. 电话号码的字母组合,BFS,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

[架构师训练营第 1 期] 大作业(一):通达系统概要设计图

猫切切切切切

牛啤了!阿里技术官整理的这份《Java面试手册5000题》已经成功让数百名社招生“圆梦BATJ”

Java 编程 面试

架构师训练营 1 期 - 第 十四周总结(vaik)

行之

「架构师训练营第 1 期」

[架构师训练营第 1 期] 大作业(二):架构师技术知识导图

猫切切切切切

MySQL慢查询(上):为啥会这么慢?

架构精进之路

MySQL MySQL优化 MySQL使用 28天写作

缓存穿透,缓存击穿,缓存雪崩

en

redis 缓存穿透 缓存击穿 缓存并发

Rust 2018临近:设法从Rust 2015过渡_DevOps & 平台工程_Sergio De Simone_InfoQ精选文章