我正在尝试使用permutohedron
包,我遇到了一些借用问题。这个如何使用该软件包的最小示例可能足以理解我的问题:
use permutohedron::Heap;
let mut data = vec![1, 2, 3];
let heap = Heap::new(&mut data);
我想将data
和heap
放在同一个结构中并让函数返回它,但我无法找到一种方法。我认为这样的事情应该是终身可能的,因为堆不能比数据寿命更长。
data
仍然在范围内时,我不能再使用heap
,这可能是导致我无法编译的原因。有没有办法将data
放在结构中,但是让它不可访问?