写点什么

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:362031
用户头像

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

关注

评论

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

我的 500 张技术配图是怎么画的?

小林coding

程序人生 画图软件

5年Java高工经验,我是如何成功拿下滴滴D7Offer的?

Java架构追梦

Java 学习 架构 面试 滴滴

腾讯五面、快手三面已拿offer(Java岗位),分享个人面经

程序员知识圈

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

自定义TBE算子入门,不妨从单算子开发开始

华为云开发者联盟

算法 算子 自定义

排查指南 | mPaaS 小程序被卡在了三个蓝点

蚂蚁集团移动开发平台 mPaaS

小程序 问题排查 mPaaS

为什么要在以太坊上构建去中心化缓存层?到底要怎样做呢?

CECBC

以太坊

《迅雷链精品课》第十三课:PBFT算法

迅雷链

区块链

json处理

Isuodut

双循环背景下的全球供应链机遇与挑战

CECBC

供应链物流

jenkins实现接口自动化持续集成(python+pytest+ Allure+git)

行者AI

得物App亮相QCon全球软件开发大会,分享百倍增长背后的技术力量

得物技术

效率 技术 得物 得物技术 Qcon

资深码农:拿下软件测试,只需掌握好这两种方法!

华为云开发者联盟

软件 工具 测试

LeetCode题解:42. 接雨水,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

3面抖音犹如开挂,一周直接拿下offer,全靠这份啃了两个月「Java进阶手册」+[Java面试宝典]

编程 程序员 面试 计算机

15天成功拿到阿里offer 我是如何逆袭成功?全靠“Java程序员面试笔试通关宝典”真够可以!

比伯

Java 编程 架构 面试 程序人生

观察者模式

soolaugust

设计模式 观察者模式 七日更

数字货币交易所系统开发,区块链交易所搭建

薇電13242772558

区块链 数字货币

接口自动化测试的实现

行者AI

浅谈 WebRTC 的 Audio 在进入 Encoder 之前的处理流程

阿里云CloudImagine

阿里云 音视频 WebRTC 音频技术 音频

软件测试中需要使用的工具

测试人生路

软件测试

25道mybatis面试题,不要说你不会

田维常

mybatis

iOS面试基础知识 (五)

iOSer

ios 面试 底层知识

小程序市场的「App Store」来了!你准备好吃“螃蟹”了吗?

蚂蚁集团移动开发平台 mPaaS

小程序生态 mPaaS appstore

AOFEX交易所APP系统开发|AOFEX交易所软件开发

系统开发

Locust快速上手指南

行者AI

盘点 2020 |协作,是另外一种常态

冯文辉

领域驱动设计 DDD 协作 远程协作 盘点2020

高光时刻!美团推出Spring源码进阶宝典:脑图+视频+文档

996小迁

spring 源码 架构 笔记

如何从危机中提炼总结,做好2020年的复盘?

CECBC

复盘 经济

接口自动化传值处理

行者AI

XDAG技术详解1

老五

【得物技术】如何测试概率性事件-二项分布置信区间

得物技术

测试 开发 概率 得物 得物技术

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