【Rust每日新闻】 2018-11-17

in rust •  6 years ago 

「官方」如何检测Unsafe代码中的UB

#miri #unsafe_ub_check #stack_borrow

ralfj比较高产,他负责Unsafe下内存模型相关的工作,目的是用miri来检测unsafe中的UB行为。

该模型用于定义在unsafe内存模型中允许哪种别名。建立合理的别名规则,才能基于miri来检查unsafe下的UB行为。

该模型的核心思想是: 对于一个内存位置,逐步建立可跟踪的引用,形成一个栈结构。比如有一个&mut i32,可以对其重新借用获得一个新引用。这个新引用是必须用于此位置的引用,建立在旧引用之上。当新引用过期的时候,旧引用会被激活,就好像是栈结构push和pop。

在今天这篇文章中,ralfj写了实现上述模型的进展。

在Safe Rust中,通常有借用检查来保护内存。但是在编写Unsafe代码的时候,借用检查就无法提供帮助了。所以,Rust核心团队就必须要定义一组规则,即使对于Unsafe代码来说也是非常有意义的。在本篇文章中,ralfj会再次解释这些规则,但是和上次的有所不同,因为ralfj在这三个月对栈式借用实现的过程中,对这些规则理解更深了


「Podcast」关于Rust 1.29和1.30中过程宏等特性讨论

#rustacean #podcast #rust2018

Read More


将Elm架构引入Rust和WebAssembly

#elm #wasm #willow

Elm生态系统有一个架构,叫做TEA,The Elm Architecture。然后该文作者将TEA引入了Rust和WASM体系里。并且通过此实验,了解Rust和WASM在web开发方面能走多远。结论是:他想在日程工作中都能用Rust编写webapp。

代码实现: willow

其中还包含了两个demo。

Read More


开始使用rs-pbrt

#pbrt #pbrt

rs_pbrt是对《Physically Based Rendering,PBRT(光线跟踪:基于物理的渲染) 》这本书中代码的Rust实现。

这篇文章是一个使用rs_pbrt的简单教程。

Read More

rs_pbrt


每日新闻订阅地址:

欢迎通过GitHub issues投稿。

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!