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

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

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


参加仓颉内测已三年有余,这三年以来用仓颉开发了一个服务器工具...
这是中国特有的现象。 最早的WRT是Linksys。 它开...
一天5000枚啊,我给你算个账。 我就给你一枚火箭弹算一吨...
谢邀。 现在全职维护 Vue.js: vuejs/vue ·...
(要是当时我自己能够早些知道就好了 )所以我自己也讲给大家听...
并不是。 事实上,最近10年,UI设计风格正从扁平转向新拟物...
要么离婚,要么各过各的 婚内没有性生活,婚姻的意义少了一半,...
肩关节活动有弹响,且运动受限,从文字描述看,肩关节的活动幅度...
最近开源了一套Ai***生成器系统,说系统可能不太准确因为他...
技嘉KVM显示器M27Q应该是题主说的显示器吧? 前阵子搬完...
