P.UNS.PTR.02 建议使用 NonNull<T>
来替代 *mut T
【描述】
尽量使用 NonNull
来包装 *mut T
。
NonNull
的优势:
- 非空指针。会自动检查包装的指针是否为空。
- 协变。方便安全抽象。如果用裸指针,则需要配合
PhantomData
类型来保证协变。
【正例】
NonNull<T>
来替代 *mut T
【描述】
尽量使用 NonNull
来包装 *mut T
。
NonNull
的优势:
PhantomData
类型来保证协变。【正例】