为什么Rust写个链表都那么难?

表面上看是因为Rust所有权系统不承认线性逻辑中的指数推理规则(Of course!和Why not?),导致链表这种含有“自指”结构的数据结构无法刻画。
但如果承认指数规则的话,要么回到引用计数垃圾回收的机制,要么手写mfree(Why not?)语句。
但这又回到了老路上,违背了Rust的目标。
但是只要我们提前知道链表的最大长度,那么就能写出来了。
例如:已知链表的最大长度是3,那么我们定义3个类型套一下即可。
问题就出在这里,“链表最大…。

表面上看是因为Rust所有权系统不承认线性逻辑中的指数推理规则(Of course!和Why not?),导致链表这种含有“自指”结构的数据结构无法刻画。
但如果承认指数规则的话,要么回到引用计数垃圾回收的机制,要么手写mfree(Why not?)语句。
但这又回到了老路上,违背了Rust的目标。
但是只要我们提前知道链表的最大长度,那么就能写出来了。
例如:已知链表的最大长度是3,那么我们定义3个类型套一下即可。
问题就出在这里,“链表最大…。


访达。 用Mac的朋友们应该都很熟悉吧。 就是这个玩...
我记得有个文件 规定了时间节点,和全网通过ipv6的数据流量...
个人觉得不够用,而且我觉得会诞生新的语言,其中一类是结合生成...
在桌面应用开发的漫长历史中,我们见证了技术范式的演进:从 j...
写在最前:这段时间一直没更新,是因为我刚换了工作,在熟悉新岗...
综合各个角度来看,2023-2027这几年会是我国的国力巅峰...
能困住你的 只有你自己。 一个道理 : 就像是 你不行本身 ...
本文参考LLaDA:Large Language Diffu...
量子计算机能够在多项式时间内决定的问题(错误率不超过 [公式...
因为伊朗真的要造核武器了。 而且,伊朗真的敢拿核武器打以色...
