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

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

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


***大合集,建议收藏!「韩国精选爆款电影大合集」 ***s...
命途多舛,干了小半年Android开发,发现两件事: And...
稳妥点的野路子(适合中长期测试) 适用情况 :测试1-3个月...
你只是接触了docker,而不是接触了docker-comp...
太多啦太多啦!宝藏其实就在GitHub上,两个仓库直接承包了...
看懂现在的世界局势,你才能理解中伊关系。 我们正在成为历史...
我用Flutter开发了一款双因素身份验证器,它叫Cloud...
对赛事组委会和赞助商来说是场玩砸了的秀,对马拉松爱好者和关注...
手把手教学:Vue + Python 打造高颜值桌面应用 ...
不是,朋友们,光收藏不点赞会ed啊!!!! 行了我知道你们想...
