我有一个接收Box的函数,需要将其转换为Rc以共享线程内的只读所有权。
使用一些T: Sized的Box,我们可以做Rc::new(*my_box),但不幸的是,这不适用于大小不大的特征对象。
这里有一个过于简单的例子,希望能澄清这个问题:
游乐场链接
我在这里和那里看到了一些关于公开内部RcBox以支持在Box和Rc之间移动的东西,但是AFAIK它现在不能使用。
有没有解决这个问题的办法?
或者,如果这种类型的转换是不可能的,那么存储特征对象的推荐方法是什么,该特征对象可以变异到某个点,然后在该点之后与程序的其余部分不变地共享?
当我知道到目前为止我只有一个所有者时,使用Rc>似乎有点过头了……
发布于 2021-02-28 05:38:14
Rc实现了impl From>,因此您可以只使用into
到操场的永久链接
https://stackoverflow.com/questions/66403357
复制相似问题