静态保证

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

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

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

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