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

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

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


flutter+react+golang+mysql=frg...
我看好多回答都在秀,认为自己只需要两三千预算就能搞定,凸现自...
这么喜欢看露点的 那推荐一部俄罗斯的片子《契卡》 从头到尾都...
HTTP/3 实际上是 QUIC 协议 + HTTP2。 我...
这种内存分装包装大概率(目前统计概率在60%~70%)是**...
是时候祭出大杀器了: 移动用户:使用本机编辑短信“CXXZ#...
可以试试Emby套件,加docker安装Sonarr+Jac...
23年夏天在苏州一家潮汕牛肉火锅店 隔壁桌的一个女生,热裤加...
楼上 @佚明 已经讲得很好了,起因是三大运营商对PCDN打击...
我来给个基本上不会被抓的方案。 眼镜里装个摄像头,然后摄像...
