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 过渡相关推荐

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

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

  2. Rust 1.31正式发布,首次引入Rust 2018新功能

    Rust 1.31是第一个实现了Rust 2018独有新功能并且不保证与现有代码库兼容的版本.Rust 2018相关工作正在进行中,而Rust 1.31只是整个三年开发周期的开始,这个开发周期将对这门 ...

  3. Rust 2018 调查报告发布;微软超越苹果成为全球市值最大公司

    (给技术最前线加星标,每天看技术热点) 转自:开源中国.solidot.cnBeta.腾讯科技.快科技等 [技术资讯] 0.Rust 2018 年度调查报告发布 Rust 官方博客发布了 2018 年 ...

  4. 解读全球十大公司物联网战略,一个万物智能的世界即将到来

    解读全球十大公司物联网战略,一个万物智能的世界即将到来 互联网时代已经过去,移动互联网红利已褪去,信息科技开始向物联网转变,为社会数字化带来重大变革,并且物联网发展席卷全球,被视为未来科技发展重要方向 ...

  5. 全球十大公司物联网战略,一个万物智能的世界即将到来

    全球十大公司物联网战略,一个万物智能的世界即将到来 杨剑勇 百家号12-2207:28 文/杨剑勇 互联网时代已经过去,移动互联网红利已褪去,信息科技开始向物联网转变,为社会数字化带来重大变革,并且物 ...

  6. 小米平板1 android5,小米平板5即将到来?对小米平板前几代做了一下总结

    原标题:小米平板5即将到来?对小米平板前几代做了一下总结 关于小米平板 5 的到来,网上已经有很多配置上的推测了,这里总结一下之前小米发布的几代平板吧. 小米平板一代上市于 2014 年,搭载少见的英 ...

  7. rust主播排行_「Rust日报」2019每周精选 • 第四期

    前言: 从2018年开始,我每天会花1个小时关注Rust社区动态,并且在Rust.CC论坛.tg channel.Steemit.GitHub.语雀订阅都开通了Rust日报,分享我每天的见闻,偶尔也夹 ...

  8. BCH能达到它的宣传吗?现实世界压力测试即将到来!

    比特币现金(BCH)即将进行一次新的测试,测试的内容大致是关于BCH的区块链和算法基础设施能否承受数以百万级的交易轰炸.这是狂热的BCH爱好者在面对即将到来的大规模日常交易时所展示出来的信心,他们甚至 ...

  9. 准备:新V8即将到来,Node.js的性能正在改变

    V8的Turbofan的性能特点将如何对我们优化的方式产生影响 审阅:来自V8团队的Franziska Hinkelmann和Benedikt Meurer. **更新:Node.js 8.3.0已经 ...

最新文章

  1. 前端全面讲解性能优化实战
  2. 计算机类专业综合理论模拟试卷1,山东省2011年高等职业教育对口招生计算机类专业理论综合模拟试题(一)...
  3. JavaScript调用服务器事件
  4. 大数据学习(10)--流计算
  5. C#LeetCode刷题之#283-移动零(Move Zeroes)
  6. PHP读取某站点的链接的函数
  7. 【更新】Individual Homework Agile Development reading
  8. 深度学习网络模型实战
  9. Ubuntu18.04报错:system/tools/aidl/aidl_language_y.yy: error: define variable ‘api.pure‘ is not used
  10. dnf全部使用_DNF:1.13拍卖最后1天物价,花瓣礼箱破千万,果然人人都是黑商
  11. (软考中级--信息安全工程师)三、密码学基本理论
  12. Python爬取图片显示似乎不支持此文件格式
  13. python forward函数_Python——函数
  14. 仪表框架 3500/05-01-01-00/HONEYWELL51403776-100
  15. linux中tac命令详解,详解Linux中输出文件内容的rev与tac命令使用
  16. java -jar .jar_Java_JAR命令JAR包闲谈;
  17. 路由器密码重置(更改寄存器的值)
  18. App UI设计:“看得见”有多重要
  19. 前端实现Thing.js 3D模型展示Demo
  20. 机器学习——聚类分析

热门文章

  1. html 文件、图片、txt 下载 链接和按钮
  2. 9.DRN: A Deep Reinforcement Learning Framework for News Recommendation论文详解
  3. 卷积网络基础知识---Group Convolution分组卷积
  4. spring依赖注入底层原理与源码分析
  5. c++ 按键暂停继续 程序_CNC操作面板讲解,看看这些按键是什么意思
  6. plsql 设置鼠标行执行_Excel中执行“宏”的方法有哪些?我列举了这5个,你会几个...
  7. 消息队列怎么保证消息有没有重复消费(幂等性)?
  8. Linux下 WiFi rtl 移植,IMX6Q Linux WIFI+BT(RTL8723au)模块移植问题
  9. php与nginx链接,Nginx与PHP的交互
  10. 【RocketMQ工作原理】offset管理