静态保障

Rust的类型系统可防止编译时的数据竞争(看SendSync特性(traits))。类型系统也能被用来在编译时检查其它属性;减少某些案例中运行时检查的需要。

当应用到嵌入式程序时,这些静态检查能被用来,比如,强制I/O接口的配置被恰当地执行了。例如,可以设计一个API来初始化一个串行接口,这个API只能通过先配置接口需要的管脚后才能被正确地使用。

也可以静态检查操作是否被执行在正确配置了的外设上,像是拉低一个管脚。例如尝试修改一个被配置成浮空输入模式的管脚的输出状态时,将会出发一个编译时错误。

且,像是在前面章节看到的,所有权的概念能被应用到外设上确保只有一个程序的某些部分可以修改一个外设。与将这个外设当做全局可变的状态相比,访问控制(assess control)使得软件更容易推理。