安全抽象规范

使用 Unsafe Rust 的一种方式是将 Unsafe 的方法或函数进行安全抽象,将其变成安全的方法或函数。

Unsafe Rust 中 API 的安全性设计通常有两种方式:

  1. 将内部的 unsafe API 直接暴露给 API 的使用者,并且使用 unsafe 关键字来声明该 API 是非安全的,同时也需要对安全边界条件添加注释。
  2. 对 API 进行安全封装,即,安全抽象。在内部使用断言来保证当越过安全边界时可以 Panic,从而避免 UB 产生。

第二种方式,对 Unsafe 代码进行安全抽象,是 Rust 生态的一种约定俗成。