最直接的智能指针是box,因为它实现了Deref trai,写法是Box<T>,它可以让数据存在堆上面,然后在栈上保持存引用,其它的功能Box暂时没有
在编译时,RUST需要知道一个类型占用空间的大小,无法知道的类型叫做recursive type,也就是递归类型
我们看看cons list这个数据结构
use crate::List::{
Cons, Nil};
fn main() {
let list = Cons(1, Cons(2, Cons(3, Nil)));
}