gpt4 book ai didi

rust - 为什么 Cow 的定义在 Owned(::Owned) 中使用 "as"?

转载 作者:行者123 更新时间:2023-11-29 08:12:10 26 4
gpt4 key购买 nike

这是如何Cow定义:

pub enum Cow<'a, B>
where
B: 'a + ToOwned + ?Sized,
{
Borrowed(&'a B),
Owned(<B as ToOwned>::Owned),
}

为什么 B as ToOwned 在那里?为了删除 'a?Sized 边界?

最佳答案

它只是通过 fully qualified syntax 明确表示.它同样可以定义为

pub enum Cow<'a, B>
where
B: 'a + ToOwned + ?Sized,
{
Borrowed(&'a B),
Owned(B::Owned),
}

此语法是您如何访问 BToOwned 实现的关联类型

关于rust - 为什么 Cow 的定义在 Owned(<B as ToOwned>::Owned) 中使用 "as"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52028177/

26 4 0