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

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

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


在创建节点时,X6提供了3种方法:使用内置节点类型,X6提供...
在广州住了几年,搬到上海,发现在广州基本同事都已结婚生子,到...
这是萧淑慎的一组照片,最早是2005年金马奖颁奖典礼,她穿黑...
闻道有先后,这不是你没抓住机会的借口。 2012年底开始,我...
准确的说:业务越宽泛,用Golang就越费劲,垃圾到不至于。...
2000年前后,这货可是火得一塌糊涂,妥妥的一线设计软件。 ...
最新自研 tauri2.0+vue3.6+deepseek+...
[***] 鱼缸要养庞大的清洁工队伍,清道夫、红眼大帆、各种...
我其实不太明白为什么要搞隔离 1、你家经常有人来吗 2、这些...
趁“水”打劫,人性的丑恶。 终于理解了,为啥要搞预警,...
