Rust 借入,借入Mut和拥有

示例

在std::borrow::Borrow和std::borrow::BorrowMut性状用于治疗借来的类型,如拥有的类型。对于类型A和B,

impl Borrow<B> for A

表示A可以在B需要a的地方使用借入的借方 例如,将用作其方法,允许将键为的a与索引。std::collections::HashMap.get()Borrowget()HashMapA&B


另一方面,std::borrow::ToOwned实现反向关系。

因此,使用上述类型A,B可以实现:

impl ToOwned for B

注意:虽然A可以实现Borrow<T>多种不同类型T,B但只能实现ToOwned一次。