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

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

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


字节的产品都是这样,最典型的就是飞书和剪映。 剪映一开始有...
1 前言 Claude Code,是由 Anthropi...
说几个因为某些地图导致的游戏特性,不知道算不算彩蛋! 地图:...
Mac mini M4必入的桌面搭子!零刻Mate mini...
鉴于现在iPad os越来越像mac os。 众多程序员们爱...
我这里有一个。 后端基于:go,go-kratos,wir...
肯定会啊。 比如这个人 他的人设是一个黑客,那么他屏幕上...
一个社区语言能泛起多大浪花?PHP30周年线上活动PHPve...
看看这个,应该会好一些: 出国前 出国后: 大老...
最简单的 1.花10元在闲鱼买个夸克1年会员 2.花1-3元...
