哪个库用于弱引用

时间:2015-06-04 15:12:40

标签: rust

我意识到事情仍然不稳定,但为什么Weak在文档中的两个不同位置被引用?

std::rc::Weak - http://doc.rust-lang.org/stable/std/rc/struct.Weak.html

alloc::rc::Weak - http://doc.rust-lang.org/stable/alloc/rc/struct.Weak.html

也许我错过了什么,但我在两者中看到的唯一区别是fmt函数签名:

impl<T> Debug for Weak<T> where T: Debug
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>

VS

impl<T: Debug> Debug for Weak<T>
fn fmt(&self, f: &mut Formatter) -> Result

那我应该使用哪一个?他们都被标记为“不稳定”。

1 个答案:

答案 0 :(得分:7)

Rust的标准库实际上由多个相互连接的板条箱组成。 std除了包含一些自己的功能外,还可以作为一个&#34; facade&#34;在这些其他板条箱上,公开重新出口已经稳定的部分。

事实上,只有一个Weakalloc中的一个std。只是std再出口它。关于使用哪一个:如果通过std提供了某些内容,请通过Weak使用它:这是不太可能改变的路径...

...除了涉及不稳定的功能,其中input是一个:它不稳定,所以没有保证。