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

2024-06-22 23:58

本文主要是介绍【Rust日报】2020-10-26 Box 即将支持自定义的 allocators,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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 例子如下

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小白

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

  • 微信公众号:Rust语言中文社区

这篇关于【Rust日报】2020-10-26 Box 即将支持自定义的 allocators的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085770

相关文章

一份LLM资源清单围观技术大佬的日常;手把手教你在美国搭建「百万卡」AI数据中心;为啥大模型做不好简单的数学计算? | ShowMeAI日报

👀日报&周刊合集 | 🎡ShowMeAI官网 | 🧡 点赞关注评论拜托啦! 1. 为啥大模型做不好简单的数学计算?从大模型高考数学成绩不及格说起 司南评测体系 OpenCompass 选取 7 个大模型 (6 个开源模型+ GPT-4o),组织参与了 2024 年高考「新课标I卷」的语文、数学、英语考试,然后由经验丰富的判卷老师评判得分。 结果如上图所

公共筛选组件(二次封装antd)支持代码提示

如果项目是基于antd组件库为基础搭建,可使用此公共筛选组件 使用到的库 npm i antdnpm i lodash-esnpm i @types/lodash-es -D /components/CommonSearch index.tsx import React from 'react';import { Button, Card, Form } from 'antd'

(超详细)YOLOV7改进-Soft-NMS(支持多种IoU变种选择)

1.在until/general.py文件最后加上下面代码 2.在general.py里面找到这代码,修改这两个地方 3.之后直接运行即可

ROS话题通信流程自定义数据格式

ROS话题通信流程自定义数据格式 需求流程实现步骤定义msg文件编辑配置文件编译 在 ROS 通信协议中,数据载体是一个较为重要组成部分,ROS 中通过 std_msgs 封装了一些原生的数据类型,比如:String、Int32、Int64、Char、Bool、Empty… 但是,这些数据一般只包含一个 data 字段,结构的单一意味着功能上的局限性,当传输一些复杂的数据,比如:

添加自定义的CALayer

iOS开发UI篇—CAlayer(创建图层) 一、添加一个图层 添加图层的步骤: 1.创建layer 2.设置layer的属性(设置了颜色,bounds才能显示出来) 3.将layer添加到界面上(控制器view的layer上)  1 // 2 // YYViewController.m 3 // 01-创建一个简单的图层 4 // 5 //

中国341城市生态系统服务价值数据集(2000-2020年)

生态系统服务反映了人类直接或者间接从自然生态系统中获得的各种惠益,对支撑和维持人类生存和福祉起着重要基础作用。目前针对全国城市尺度的生态系统服务价值的长期评估还相对较少。我们在Xie等(2017)的静态生态系统服务当量因子表基础上,选取净初级生产力,降水量,生物迁移阻力,土壤侵蚀度和道路密度五个变量,对生态系统供给服务、调节服务、支持服务和文化服务共4大类和11小类的当量因子进行了时空调整,计算了

android自定义View的和FramgentActivity的一个小坑

对于自定义View //加载样式TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.TitleBarView, defStyleAttr, 0);setTitle(typedArray.getString(R.styleable.TitleBarView_main_title));//不能写成

第三十七章 添加和使用自定义标题元素 - 自定义标头的继承

文章目录 第三十七章 添加和使用自定义标题元素 - 自定义标头的继承自定义标头的继承示例 在 `SOAPHEADERS` 参数中指定支持的标头元素自定义标头的继承 第三十七章 添加和使用自定义标题元素 - 自定义标头的继承 自定义标头的继承 如果创建此Web 服务的子类,该子类将继承不特定于方法的标头信息 — 包含在 <request> 或 <response> 元素中的标头信

从辉煌到谢幕,十种即将淡出视野的编程语言

概述 在科技的长河中,编程语言如同璀璨的星辰,照亮了人类智慧的夜空。然而,随着时间的流逝,一些星辰逐渐黯淡,甚至面临消失的边缘。本文将带你走进这些编程语言的世界,探讨它们曾经的辉煌、衰落的原因,以及在不断进步的技术浪潮中,它们是否还有重生的可能。 科技浪潮下的淘汰危机 然而,随着技术的发展,一些编程语言开始显得力不从心。R语言,曾是数据分析的宠儿,现在却因为Python的多功能性而逐渐失宠。Ac

基于ZYNQ7000的交叉编译工具链Qt+OpenCV+ffmpeg等库支持总结

最近刚刚接触XILINX的ZYNQ板,刚接触没有十天。XILINX定位它为SOC,我也很认同,起码比TI定位MPU为SOC强很多。据说今年TI的最新产品也加入了ZYNQ板。 之前的MIPS处理器设计与实现的项目就算做告一段落,搞了将近7个月,成果显著,收获颇多,最近打算搞搞ZYNQ。 之前MIPS也有一套交叉编译工具,不过是老师提供的,自己也尝试搞了搞,太辛苦了,而且也没什么成果,因为我