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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
PHP 现反序列化漏洞,或使 WordPress 遭远程攻击
英国安全公司 Secarma 的研究主管 Sam Thomas 本月在 Black Hat 和 BSides 安全会议上展示了 PHP 编程语言的安全漏洞,并指出该漏洞影响了所有接受用户资料的 PHP 应用程序和库,包括 WordPress 等内容管理系统(CMS),并将允许远程程序攻击。 序列化(Serialization)与反序列化(Deserialization)是所有编程语言都具备的功能,序列化将对象转换为字符串,以将数据迁移到不同服务器,服务或应用程序上,然后通过反序列将字符串还原到对象。 安全研究员 Stefan Essar 在 2009 年就透露了 PHP 中反序列化黑客控制的数据带来的风险,而相关的漏洞不仅存在于 PHP 中,还存在于其他编程语言中。 Thomas 公布的是 PHP 的新攻击技术,可用于各种场景,例如 XML External Entity(XEE)漏洞或服务器端伪造请求(SSFR)漏洞等。 Thomas 表示,过去外界认为XXE 漏洞带来的最大问题是信息外泄,但现在可出发程序执行。相关攻击分为两个阶段。 首先,将包含恶意对象的 Phar 存档上传到攻击...
- 下一篇
JDK 11 已进入候选发布阶段,计划9月25日发布正式版
JDK 11 达成了新的里程碑:现已进入候选发布阶段。按照 JDK Release Process(JEP 3),jdk/jdk11 稳定仓库目前对于 P1 错误修复是开放的。此外,JDK 11 将于9月份正式发布。 JDK 11 的发布进度正在按照预期进行 JDK 11 现在已处于候选发布阶段,按照 JDK Release Process(JEP 3),jdk/jdk11稳定仓库对于 P1 错误修复是开放的。 JDK 11 的Rampdown 阶段已经过去,截至6月28日,整体功能特性已冻结,不会再有其他的JEP。稳定仓库jdk/jdk11目前是开放的,可用于 P1-P2 错误修复,并在经过批准后,可根据 JDK Release Process (JEP 3) 进入 late enhancements 阶段。 RDP 1 candidate bugs RDP 2 candidate bugs Bug-Deferral Process Late-Enhancement Request Process 让我们看一下 JDK 11 发布之前需要达到的里程碑: Rampdown— 对进入此阶...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Mario游戏-低调大师作品
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8