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

表面上看是因为Rust所有权系统不承认线性逻辑中的指数推理规则(Of course!和Why not?),导致链表这种含有“自指”结构的数据结构无法刻画。
但如果承认指数规则的话,要么回到引用计数垃圾回收的机制,要么手写mfree(Why not?)语句。
但这又回到了老路上,违背了Rust的目标。
但是只要我们提前知道链表的最大长度,那么就能写出来了。
例如:已知链表的最大长度是3,那么我们定义3个类型套一下即可。
问题就出在这里,“链表最大…。
表面上看是因为Rust所有权系统不承认线性逻辑中的指数推理规则(Of course!和Why not?),导致链表这种含有“自指”结构的数据结构无法刻画。
但如果承认指数规则的话,要么回到引用计数垃圾回收的机制,要么手写mfree(Why not?)语句。
但这又回到了老路上,违背了Rust的目标。
但是只要我们提前知道链表的最大长度,那么就能写出来了。
例如:已知链表的最大长度是3,那么我们定义3个类型套一下即可。
问题就出在这里,“链表最大…。
概览小伙伴们都知道,为了将 SwiftUI 中多如牛毛的视图...
终于集齐三大女神。 张靓颖的眼镜,戴与不戴真的是判若两人。...
需求描述日常开发中,我们常常会要执行一些定时任务比如定时清理...
学Bot? 学爬个人信息?双向删除?匿名数据?不用实名?公开...
看你啥岗位了。 前端一般要求配置高一些,尤其做游戏的,因为...
先说结论. 因为你看到的MIPS SoC的路由都是“硬”路由...
原文18:昔晋文公有大功于王室,请隧于襄王,襄王不许,曰:“...
韩国真的太疯狂了:不许丑、不许土、不许不整容 刚从首尔回来,...
1. 找一个大点的U盘(移动硬盘更好)一定要USB3.0,安...
量子计算机能够在多项式时间内决定的问题(错误率不超过 [公式...