0
点赞
收藏
分享

微信扫一扫

【Rust日报】2020-07-26 - Easy Rust 让Rust文档更容易理解

Rust Stable 1.45 中的 "神奇" Bug 解读

今天Rust 官方仓库里报告了一个神奇的Bug,该 Bug 似乎动摇了 Rust 的世界法则,该 Bug 的表现如下:

struct Foo {
x: i32,
}

fn main() {
let mut foo = Foo { x: 42 };
let x = &mut foo.x;
*x = 13;
let y = foo;
println!("{}", y.x); // -> 42; expected result: 13
}

正常情况下,最后的 y.x 应该输出 “13”,但是现在还是 “42”。这个结果意味着,代码第7行的可变引用并没有起到作用。

是不是很神奇?这个 Bug 让人感觉 Rust 世界的基本法则都崩塌了。

​​https://mp.weixin.qq.com/s/Qr3x-NbhOTlUtYyzlPQ4iQ​​

servo-unity:Unity的浏览器插件

servo是一个使用Rust开发的浏览器,servo-unity这个插件可以在unity构建的在AR/VR世界中展示一个浏览器窗口,在虚拟世界中拥有类似现实中的浏览器体验。本文介绍了这个插件能够实现的功能,以及它的工作原理、架构设计和一些挑战。

​​https://github.com/MozillaReality/servo-unity​​

​​https://blog.mozvr.com/a-browser-plugin-for-unity/​​

​​http://jamesmcm.github.io/blog/2020/07/25/intro-dod/#en​​

Easy Rust 让Rust文档更容易理解

Rust的文档已经很全面了,但是很多非英语母语的人理解起来可能比较困难,easy rust用比较容易理解的表述方式组织了Rust文档。

能降低文档理解难度,确实能让一部分人受益,如果你想通过这个文档学习,最好以官方文档为主,将这个文档作为参考,否则可能会走上偏路。

​​https://github.com/Dhghomon/easy_rust​​

Rust项目测试小技巧

在Rust项目中,如果你要对私有方法做测试,你该怎么办呢?临时将方法改为public?别再这样做了。你可以不创建tests文件夹,而是添加test模块,然后将方法改为pub(crate)。

#[cfg(test)]
mod tests;

From 日报小组 格朗, Lanpeng

社区学习交流平台订阅:

  • Rustcc 论坛: 支持 rss
  • 微信公众号:Rust语言中文社区


举报

相关推荐

0 条评论