内容简介:据Rust核心团队报道,据InfoQ报道,Rust 2018侧重于提高语言的生产力,就是说,侧重于编译器性能,对许多语言特性进行优化,进一步改进工具、库和文档。新的Rust 2018语言特性有的已经出现在Rust近日的发布中,有的将会出现在Rust 1.31之前的版本中,包括impl Trait、macros 2.0、SIMD支持、“非词法作用域生命周期(non-lexical lifetimes)”、async/await支持及模块改造。最值得注意的是,Rust 2018将稍微放宽稳定性保证,从而为可能
据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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。