安全抽象规范
使用 Unsafe Rust 的一种方式是将 Unsafe 的方法或函数进行安全抽象,将其变成安全的方法或函数。
Unsafe Rust 中 API 的安全性设计通常有两种方式:
- 将内部的 unsafe API 直接暴露给 API 的使用者,并且使用
unsafe
关键字来声明该 API 是非安全的,同时也需要对安全边界条件添加注释。 - 对 API 进行安全封装,即,安全抽象。在内部使用断言来保证当越过安全边界时可以 Panic,从而避免 UB 产生。
第二种方式,对 Unsafe 代码进行安全抽象,是 Rust 生态的一种约定俗成。