静态保证

Rust 的类型系统在编译时防止数据竞争(参见 SendSync trait)。类型系统还可以用于在编译时检查其他属性;在某些情况下减少对运行时检查的需求。

当应用于嵌入式程序时,这些静态检查可以用于,例如,强制 I/O 接口的配置正确完成。例如,可以设计一个 API,其中只能通过首先配置接口将使用的引脚来初始化串行接口。

还可以静态检查操作,例如将引脚设置为低电平,只能在正确配置的外围设备上执行。例如,尝试更改配置为浮动输入模式的引脚的输出状态会引发编译错误。

而且,如上一章所述,所有权的概念可以应用于外围设备,以确保只有程序的某些部分可以修改外围设备。与将外围设备视为全局可变状态的替代方案相比,这种访问控制使软件更容易理解。