静态保证
Rust的类型系统在编译时就防止发生竞争访问(请参阅Send和Sync特性)。类型系统还可以用于在编译时检查其他属性,在某些情况下,减少了对运行时检查的需求。
这些静态检查在嵌入式程序中还可发挥特殊作用,例如,可以用来强制完成I/O接口的配置. 可以设计一种API,只能先配置好串口所需引脚,然后才能初始化串口对象。
Rust还可以静态检查是否允许对外设的配置操作,例如,当引脚是浮动输入模式时,配置引脚的输出状态会产生编译错误。
而且,如上一章所述,所有权的概念可以应用于外围设备,以确保只有程序的某些部分才能修改外围设备。与将外围设备视为全局可变状态的方法相比,这种“访问控制”更加合理。