Rust 1.33 预发布测试开启
#rust
通过此命令升级Rust 1.33开启测试
RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup update stable
1.33的更新简要:
- 整数类型在match中可以使用范围表达式穷尽了,比如u8类型,可以用0..=255来匹配,不再需要
_ => unreachable!()
了。 if let
和while let
支持多模式匹配。- const functions中现在可以使用let绑定、赋值、表达式语句以及irrefutable的模式匹配
- 支持unsafe const fn。
- 可使用cfg_attr指派多个属性
- 可以使用
#[repr(packed)]
指定特殊的对齐方式 - extern函数在恐慌时的行为默认是Abort,以前这里是未定义行为。
- LLVM支持的最低版本是6.0
- 编译器新增了很多平台的编译target支持。
battery: 用于收集笔记本电脑电池信息的库
#battery
支持Linux、Mac、Windows。通过该库提供的命令,可以在终端查看电池相关的信息。
swym: 实验性软件事务内存库
#STM
可用于实现并发数据结构,其性能和无锁数据结构相差无几。
Mozilla正在寻找懂UWP的专业人士
#Mozilla
希望协助Moziila将Rust带到Hololens平台。目前Firefox Reality浏览器即将登陆Hololens2。
cargo-deps: 可视化项目中的依赖库
#Visualize
它是对cargo-graph库的分支,同样是基于graphviz库,可以可视化依赖项的关联。作者号称该库是对cargo-graph的改进。
「视频」从零开始使用Rust构建嵌入式传感器节点平台
#embeded
「视频」是时候用Rust重写操作系统了吗?
#qcon
来自去年QCon San Francisco 2018的视频。作者非常看好Rust。
cargo-sync-readme: 可以根据Rust文档自动在README中生成Markdown小节
#cargo
主要是方便库作者在更新lib.rs或main.rs文件的文档注释之后,不用再重复地去修改Readme中的说明。
archery: 提供了对Rust中引用计数指针的进一步抽象
#archery #arc #rc
因为Rust目前还未支持高级类型(比如直接将Rc和Arc用作类型参数),所以该库使用了「rust-higher-kinded-types-already」一文中介绍的方法(用trait模拟),实现了对Arc和Rc的统一抽象。这样做的目的是为了在不需要跨线程处理数据的时候,可以节省Arc的开销。
建议:该库基于unsafe实现,谨慎使用
RustLab: Rust意大利Conf大会启动
#conf
tri-mesh: 三角网格(triangle mesh)数据结构库
#mesh
三角网格在图形学和建模中广泛使用,用来模拟复杂物体的表面。
「嵌入式Rust」atsamd21微控制器支持
#atsamd21
有人提交了新的PR已经支持SAMD51 HAL
McEx: Rust和Elixir共同实现的MineCraft服务器
#mineCraft
dynomite: 用于和DynamoDB的相互转换类型
#DyanmoDB
DynamoDB是一个Amazon的云NoSQL数据库服务。
日报订阅地址:
评论区
写评论噢。。。
《是时候用Rust重写操作系统了吗?》的主讲人就是当初那个发现C实现居然没有Rust快,原因是Rust默认使用的BTree,他使用的是自己实现的AVL。