写点什么

Rust 1.21 发布,改进语法和对工具的支持

  • 2017-10-23
  • 本文字数:742 字

    阅读完需:约 2 分钟

Rust 团队刚刚发布了 Rust 1.21 ,带来更灵活的字面量语言特性、更稳定的库,并改进了对工具的支持。

新的语言特性允许将保存在静态内存里的字面量提升为值,这样就可以安全地传递引用。下面的代码现在是合法的:

复制代码
let x: &'static u32 = &5;
thread::spawn(move || {
println!("{}", x);
});

在上一个版本的 Rust 中,上面的代码无法通过编译,因为线程块里的变量 x 引用了字面量 5,5 是保存在栈上的,在线程块函数退出之后就会消失。为了扩展字面量的生存周期,Rust 1.21 的编译器将上述的代码转译成如下的形式:

复制代码
static FIVE: i32 = 5;
let x = &FIVE;

编译器现在可以在进行转译的同时运行 LLVM,所以使用的内存更少了。这样有两个好处:转译和 LLVM 可以同时进行,而且主线程可以在这两者之间切换。另外, rustup 现在支持通过“rustup component add rls-preview”的方式来安装 Rust 语言服务器(RLS)。根据 Rust 团队成员所述,这是安装 Rust 工具的第一步,其中包含了 RLS、Clippy 和 rustfmt,在 Rust 稳定版中就可以正常运行。

在库稳定性方面,现在可以使用 Iterator::for_each 代替 for 循环,如:

复制代码
// 旧代码
for i in 0..10 {
println!("{}", i);
}
// 新代码
(0..10).for_each(|i| println!("{}", i));

这样可以很容易地把多个迭代器串联在一起,如:

复制代码
(0..100)
.map(|x| x + 1)
.filter(|x| x % 2 == 0)
.for_each(|i| println!("{}", i));

另外, Ord 有序集合)的max 和min 函数现在很稳定了。Rc和Arc提供了更友好的接口,包括From<&[T]> where T: Clone、From、From、From<Box > where T: ?Sized 以及 From<Vec>。

可以通过运行 rustup update stable 获取最新的 Rust,更多细节可以参考 Rust 1.21 发布说明

查看英文原文 Rust 1.21 Improves Language Syntax and Tooling

2017-10-23 19:001800
用户头像

发布了 322 篇内容, 共 159.0 次阅读, 收获喜欢 148 次。

关注

评论

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

Java面试官,springboot教程百度云,Java编程教程视频

Java 程序员 后端

Java面试题集2021版,2万字20个项目实例

Java 程序员 后端

Java项目实战网盘资源分享,千锋java课程大纲,含小米、腾讯、阿里

Java 程序员 后端

Java面试常问问题,图灵科技学院,十分钟带你看懂Netty如何实现C-S

Java 程序员 后端

Java面试手写算法,极客时间数据结构算法地图,Java岗面试12家大厂成功跳槽

Java 程序员 后端

Java面试知识点总结宝典助你通关,Java校招笔试面试题目

Java 程序员 后端

Java面试秘籍,java调用百度地图接口,含面试题+答案

Java 程序员 后端

Java项目视频,千锋java百度云,附赠课程+题库

Java 程序员 后端

Java高级工程师每日面试题精选,最新大厂Java校招面试经验汇总

Java 程序员 后端

Java零基础自学书籍,尚硅谷spring视频,BAT大厂面试总结

Java 程序员 后端

Java面试带答案,合买咕泡学院vip,全面展示线程内存模型的能力

Java 程序员 后端

Java面试知识点总结,mongodb权威指南pdf网盘,SpringBoot

Java 程序员 后端

Java面试视频教学,java视频黑马,linux运维视频教程全集

Java 程序员 后端

Java面试问题大全及答案大全下载,java高级教程百度云,已有千人收藏

Java 程序员 后端

Java高级工程师必看系列,Java程序员面试常问的问题

Java 程序员 后端

Java面试回忆录,任小龙java笔记百度云,Java社招面经分享

Java 程序员 后端

Java面试常问问题,java入门电子书百度网盘,直接上干货

Java 程序员 后端

Java面试题jvm调优,牛客刷题指南,Java面试题

Java 程序员 后端

Java项目视频百度云,vue做视频教程,dubbo面试题总结

Java 程序员 后端

Java高级工程师面试题目,尚硅谷kafka文档,和腾讯大牛的技术面谈

Java 程序员 后端

Java面试题大全,尚硅谷dubbo下载,面试经历分享

Java 程序员 后端

Java项目视频百度云盘,java视频百度云盘,【一步教学,一步到位】

Java 程序员 后端

Java面试java基础,java基础语法菜鸟教程,腾讯Java社招面试

Java 程序员 后端

Java面试技巧和注意事项,java开发实例教程,阿里巴巴Java编程笔试题

Java 程序员 后端

Java面试题总结及答案,牛客网竞赛中复制别人的答案,Java工程师面试题

Java 程序员 后端

Java高级互联网架构师,java韩顺平最新教程,程序人生

Java 程序员 后端

Java面试基础知识点,mysql编程入门教程,Java知识总结

Java 程序员 后端

Java面试常见笔试题,java基础入门传智播客图书,被逼无奈开始狂啃底层技术

Java 程序员 后端

Java面试必备的集合源码详解,小白勿进

Java 程序员 后端

Java面试问题及答案,java实用教程第五版课后答案,Java重要知识点

Java 程序员 后端

Java高级工程师进阶学习,2021Java高频精选面试题讲解

Java 程序员 后端

Rust 1.21发布,改进语法和对工具的支持_语言 & 开发_Sergio De Simone_InfoQ精选文章