写点什么

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

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

关注

评论

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

智能工厂核心功能系统-MES生产管理系统

万界星空科技

制造业 智能工厂 智能制造 mes 万界星空科技

【论文速读】| 潜在越狱:用于评估大语言模型文本安全性和输出鲁棒性的基准测试

云起无垠

户外LED防水箱体:技术发展与市场趋势

Dylan

技术 性能 LED显示屏 户外LED显示屏

软件全套资料:开发、实施、运维、安全、交付、立项、过程、结项、投标方案、资质评审等

金陵老街

详细设计 软件文档 规格说明

悦数图数据库推出 AI 知识图谱构建器及图语言生成助手

悦数图数据库

图数据库

探索海外市场舆情:云手机助力企业赢得全球竞争

Ogcloud

云手机 海外云手机 云手机海外版 海外舆情监控 海外舆情

关于征集中国人工智能产业发展联盟“人工智能基础平台(AI Infra)工作组”首批成员单位的通知

中国信通院AI Infra工作组

AI Infra多项标准发布,大模型基础设施研究启动

中国信通院AI Infra工作组

FreeRTOS教程9 软件定时器

不在线第一只蜗牛

定时器 FreeRTOS

海外舆情监控的重要性以及云手机的推荐

Ogcloud

云手机 海外云手机 云手机海外版 舆情监控

一站式测试解决方案,从人才到工具,我们全程护航!

测吧(北京)科技有限公司

测试

GPU云服务器的优势和应用

Ogcloud

gpu 服务器 云服务器 GPU实例 GPU云服务器

RocketMQ 流存储解析:面向流场景的关键特性与典型案例

阿里巴巴云原生

阿里云 RocketMQ 云原生

基于火山引擎 VCI 实现资源装箱率提升,助力企业云成本优化

极客天地

人工智能产业发展联盟AI Infra工作组筹备会成功召开

中国信通院AI Infra工作组

MES管理系统中电子看板都有哪些类型?

万界星空科技

mes 数据大屏 万界星空科技 生产看板

ERPNext移动平均计价

麦兜

终于有人讲清楚了!如何成为高价值的程序员

互联网工科生

云效 AppStack + 阿里云 MSE 实现应用服务全链路灰度

阿里云云效

阿里云 微服务 云原生 云效

云效 AppStack + 阿里云 MSE 实现应用服务全链路灰度

阿里巴巴云原生

阿里云 微服务 云原生 云效

中国信通院牵头编制的AI开发平台行业标准正式发布

中国信通院AI Infra工作组

【教程】混淆代码保护与优化

智能商品计划系统:鞋服品牌的未来价值引擎

第七在线

✅到底有没有必要分库分表,如何考量的

派大星

MySQL 数据库 Java 面试

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