Signed-off-by: wanglei <wllenyj@gmail.com>
Using `union` can save more space. And the `MaybeUninit<T>` will never drop the T, when dropping the `MaybeUninit<T>`. Fixed it. Signed-off-by: wanglei <wllenyj@gmail.com>
`LazyLock` is inspired by Rust 1.80.0's `std::sync::LazyLock` type.