首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Rust日报】2020-10-26 Box 即将支持自定义的 allocators

Box 即将支持自定义的 allocators

下面的  合并之后, Box 将会支持自定义的 allocators.

Box 的定义将会从  变成 .

https://github.com/rust-lang/rust/pull/77187

Rust 的 Hyper 会让 Curl 变的更安全

是使用  语言编写的流行工具, 已安装在全世界 600 多万的设备上. 前段时间,  开始尝试增加一个新的 backend, 该 backend 是  编写的 HTTP 库, . 但是这并不意味着  会用  重写. 除此之外, ISRG 的工程师也在尝试使用  作为一个 TLS 的 backend.

https://www.infoq.com/news/2020/10/memory-safe-curl-rust/

使用 OIBIT 实现 specialization 功能

名词解释:

, 全称 , 他的另外一个名字我们比较熟悉 .

, 是 nightly Rust 提供的一个 feature. 允许我们在 traits 实现有重叠的时候标记一个  的实现.

阅读完本文,你将了解到:

的特性.

特性是什么, 解决什么问题.

如何使用  来模拟实现  这个特性.

https://pwychowaniec.com/en/posts/imitating-specialization-with-oibits/

move/copy/drop 语义和 zeroing data 的一个小陷阱.

Rust 的 value 被  之后,默认并不会变成零值的. 但是,在有一些高度安全的设备和行业中, 我们是不希望把一些敏感的信息在内存中停留时间超过他本该停留的时间, 由于上面特性, 会导致即使变量  了, 数据仍然是在内存中的, 直到该内存重新被覆盖.

crate  可以帮助我们来做到安全的设置数据为零值, 而且可以防止编译优化.

本文主要介绍了  变量和  变量在使用  的时候一个小陷阱.

https://benma.github.io/2020/10/16/rust-zeroize-move.html

Ungrammar : 描述 concrete syntax tree 的一种新形式

Ungrammer 例子如下

Module=

Attr* Visibility?

'mod'Name

(ItemList |';')

他和 EBNF 很像, 区别在于, Ungrammer 描述的是 concrete syntax tree, 是一系列数据或者一系列 trees.

https://rust-analyzer.github.io/blog/2020/10/24/introducing-ungrammar.html

--

From 日报小组 BobQin,FBI小白

社区学习交流平台订阅:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201026A0J8BP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券