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

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

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


我这里有一个。 后端基于:go,go-kratos,wir...
有一次,一个国外友人给送了点野味,他说是野羊(goat),我...
1. 能用reactjs 写一个前端,部署在vercel 2...
现在是2025年,我的回答是 就用thinkphp或lar*...
cloudflare 已经重写了,他们认为 NGINX 有一...
如果你去到一个西餐厅,只有英文菜单,你两眼一抹黑,“服务员,...
按照目前M4这一代的强劲表现来说,我其实是完全不期待M5系列...
「何不食肉糜」已经不能描述他的言论了。 除开通过非法途径谋...
Solid 很灵活。 它没有和 Web 绑死,没有和特殊的编...
内存管理不可能三角形:高吞吐、低延迟、全自动 你说的这个快到...
