经常看到一些帖子,关于开发者试图将他们各自的语言范式转换为 Rust,结果好坏参半,成功程度也各不相同。那么,为什么 Rust 不让一个结构继承另一个结构呢?
许多从 C++ 来到 Rust 的人一开始会想实现一个“简单的”双向链表,但很快就会发现它实际上并不简单。这是因为 Rust 想要明确所有权,因此双重链接列表需要对指针和引用进行相当复杂的处理。
Rust 中的每个数据只允许有一个所有者,所以这将至少需要一个 Rc 或 Arc 才能工作。但是即使这样做也会很快变得麻烦,更不用说引用计数带来的开销了。(如图所示)
来自 C 或 C++ 亦或是来自动态语言的开发者,有时习惯于在他们的代码中创建和修改全局状态。例如,一位 reddit 用户说:“这是完全安全的,但 Rust 不让你这么做。”
在 Rust 学习和使用过程中,你还遇到哪些问题呢?

