Rust 写不了链表?

创建于 11/20/2023

不仅如此……

常常有人说:Rust 写不了链表。严谨地说,写不了安全、零开销的双链表。

无可辩驳,这是对的。不仅如此,Vec 等容器也无法写得安全、零开销。它们都需要更精细地控制内存。

不过,惊xià还有更多。有的东西看着如同库函数,实则是编译器开洞。自己即便用了 unsafe,也写不了!

解引用 Box 可以移出其中的值。而 DerefMove trait 尚不存在,自己写不了。

UnsafeCell 允许从不可变引用中获取可变引用。如果不使用它,那就是未定义行为,即便保证不同时访问也一样。

如此之类,应该还有很多。我也不懂,读者可自行寻找。