Rust 2018 即将到来:设法从 Rust 2015 过渡
Rust 核心开发团队近日发表报告称,Rust 2018 的第一个版本将于 2018 年 12 月 6 日准备就绪,对应 Rust 1.31。在新标签下整合了自 Rust 2015 首次发布以来的大量新功能,进一步丰富了语言特性。
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,可以将 edition='2018' 添加到项目 cargo.toml 中。 如果缺少版本密钥,Rust 编译器将默认使用 Rust 2015.。使用 cargo new 创建的所有新项目默认都加入 edition='2018'。
由于 Rust 编译器将能够同时支持 Rust 2015 和 2018,因此 Rust 2015 和 Rust 2018 的项目依赖和版本可以任意混合使用,而不会出现问题。 这也就是说,您将可以在 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
Rust 2018 即将到来:设法从 Rust 2015 过渡相关推荐
- Rust 2018临近:设法从Rust 2015过渡
据Rust核心团队报道,Rust 2018(对应Rust 1.31)的第一个版本将于2018年12月6日准备就绪.从Rust 2015首次发布以来,大量新特性合并到一个新的标签下,大大丰富了这门语言. ...
- Rust 1.31正式发布,首次引入Rust 2018新功能
Rust 1.31是第一个实现了Rust 2018独有新功能并且不保证与现有代码库兼容的版本.Rust 2018相关工作正在进行中,而Rust 1.31只是整个三年开发周期的开始,这个开发周期将对这门 ...
- Rust 2018 调查报告发布;微软超越苹果成为全球市值最大公司
(给技术最前线加星标,每天看技术热点) 转自:开源中国.solidot.cnBeta.腾讯科技.快科技等 [技术资讯] 0.Rust 2018 年度调查报告发布 Rust 官方博客发布了 2018 年 ...
- 解读全球十大公司物联网战略,一个万物智能的世界即将到来
解读全球十大公司物联网战略,一个万物智能的世界即将到来 互联网时代已经过去,移动互联网红利已褪去,信息科技开始向物联网转变,为社会数字化带来重大变革,并且物联网发展席卷全球,被视为未来科技发展重要方向 ...
- 全球十大公司物联网战略,一个万物智能的世界即将到来
全球十大公司物联网战略,一个万物智能的世界即将到来 杨剑勇 百家号12-2207:28 文/杨剑勇 互联网时代已经过去,移动互联网红利已褪去,信息科技开始向物联网转变,为社会数字化带来重大变革,并且物 ...
- 小米平板1 android5,小米平板5即将到来?对小米平板前几代做了一下总结
原标题:小米平板5即将到来?对小米平板前几代做了一下总结 关于小米平板 5 的到来,网上已经有很多配置上的推测了,这里总结一下之前小米发布的几代平板吧. 小米平板一代上市于 2014 年,搭载少见的英 ...
- rust主播排行_「Rust日报」2019每周精选 • 第四期
前言: 从2018年开始,我每天会花1个小时关注Rust社区动态,并且在Rust.CC论坛.tg channel.Steemit.GitHub.语雀订阅都开通了Rust日报,分享我每天的见闻,偶尔也夹 ...
- BCH能达到它的宣传吗?现实世界压力测试即将到来!
比特币现金(BCH)即将进行一次新的测试,测试的内容大致是关于BCH的区块链和算法基础设施能否承受数以百万级的交易轰炸.这是狂热的BCH爱好者在面对即将到来的大规模日常交易时所展示出来的信心,他们甚至 ...
- 准备:新V8即将到来,Node.js的性能正在改变
V8的Turbofan的性能特点将如何对我们优化的方式产生影响 审阅:来自V8团队的Franziska Hinkelmann和Benedikt Meurer. **更新:Node.js 8.3.0已经 ...
最新文章
- 前端全面讲解性能优化实战
- 计算机类专业综合理论模拟试卷1,山东省2011年高等职业教育对口招生计算机类专业理论综合模拟试题(一)...
- JavaScript调用服务器事件
- 大数据学习(10)--流计算
- C#LeetCode刷题之#283-移动零(Move Zeroes)
- PHP读取某站点的链接的函数
- 【更新】Individual Homework Agile Development reading
- 深度学习网络模型实战
- Ubuntu18.04报错:system/tools/aidl/aidl_language_y.yy: error: define variable ‘api.pure‘ is not used
- dnf全部使用_DNF:1.13拍卖最后1天物价,花瓣礼箱破千万,果然人人都是黑商
- (软考中级--信息安全工程师)三、密码学基本理论
- Python爬取图片显示似乎不支持此文件格式
- python forward函数_Python——函数
- 仪表框架 3500/05-01-01-00/HONEYWELL51403776-100
- linux中tac命令详解,详解Linux中输出文件内容的rev与tac命令使用
- java -jar .jar_Java_JAR命令JAR包闲谈;
- 路由器密码重置(更改寄存器的值)
- App UI设计:“看得见”有多重要
- 前端实现Thing.js 3D模型展示Demo
- 机器学习——聚类分析
热门文章
- html 文件、图片、txt 下载 链接和按钮
- 9.DRN: A Deep Reinforcement Learning Framework for News Recommendation论文详解
- 卷积网络基础知识---Group Convolution分组卷积
- spring依赖注入底层原理与源码分析
- c++ 按键暂停继续 程序_CNC操作面板讲解,看看这些按键是什么意思
- plsql 设置鼠标行执行_Excel中执行“宏”的方法有哪些?我列举了这5个,你会几个...
- 消息队列怎么保证消息有没有重复消费(幂等性)?
- Linux下 WiFi rtl 移植,IMX6Q Linux WIFI+BT(RTL8723au)模块移植问题
- php与nginx链接,Nginx与PHP的交互
- 【RocketMQ工作原理】offset管理