借用 BorrowMut 和 ToOwned
std::borrow::Borrow 和 std::borrow::BorrowMut 特徵用於處理所擁有型別的借用型別。對於 A 和 B 型別,
impl Borrow<B> for A
表示在需要 B 的地方可以使用借來的 A。例如,std::collections::HashMap.get() 使用 Borrow 作為其 get() 方法,允許帶有 A 鍵的 HashMap 用 &B 索引。
另一方面,std::borrow::ToOwned 實現了反向關係。
因此,使用上述型別 A 和 B 可以實現:
impl ToOwned for B
注意:雖然 A 可以為多種不同型別的 T 實現 Borrow<T>,但 B 只能實現 ToOwned 一次。