前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2020-10-26 Box 即将支持自定义的 allocators

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

作者头像
MikeLoveRust
发布2020-11-05 20:25:49
6400
发布2020-11-05 20:25:49
举报
文章被收录于专栏:Rust语言学习交流

Box 即将支持自定义的 allocators

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

Box 的定义将会从 Box<T> 变成 Box<T, A = Global>.

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

Rust 的 Hyper 会让 Curl 变的更安全

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

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

使用 OIBIT 实现 specialization 功能

名词解释:

  • OIBIT, 全称 opt-in built-in traits, 他的另外一个名字我们比较熟悉 auto traits.
  • specialization, 是 nightly Rust 提供的一个 feature. 允许我们在 traits 实现有重叠的时候标记一个 default 的实现.

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

  1. auto traits 的特性.
  2. specialization 特性是什么, 解决什么问题.
  3. 如何使用 auto traits 来模拟实现 specialization 这个特性.

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

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

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

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

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

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

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

Ungrammer 例子如下

代码语言:javascript
复制
Module =
  Attr* Visibility?
  'mod' Name
  (ItemList | ';')

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

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

-

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Box 即将支持自定义的 allocators
  • Rust 的 Hyper 会让 Curl 变的更安全
  • 使用 OIBIT 实现 specialization 功能
  • move/copy/drop 语义和 zeroing data 的一个小陷阱.
  • Ungrammar : 描述 concrete syntax tree 的一种新形式
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档