rust在panic以后只会显示一条简单的提示信息:
这个太简单了几乎无法定位出错信息可以通过设置RUST_BACKTRACE=1
来显示更多信息,这个让rust在出错的时候把调用的堆栈信息打印出来
这样就可以根据call stack来找到出错的地方
Rc<T> 是引用计数指针可以使用clone
使得指针所指向的数据具有多个所有者。
需要注意的是Rc<T>指针的数据是不可变的
RefCell<T>
指针可以绕过编译期借用检查,普通指针和引用同一时间只能囿一个可变引用或者多个不可变引用而RefCell<T>
把这个检查推迟到了运行时。如果有引用违反了借用原则程序会panic!
s有两个可变引用,这很明显違反了引用借用原则所以运行后会得到一个panic。