gpt4 book ai didi

rust - 为什么 std::str::parse 的签名不使用特征绑定(bind)?

转载 作者:行者123 更新时间:2023-11-29 08:22:44 25 4
gpt4 key购买 nike

Rust 的 str 原始类型上的 parse 方法的签名是

pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>

为什么不是下面这样呢?

pub fn parse<F: FromStr>(&self) -> Result<F, F::Err>

我认为原始类型转换可能会确保 Err 解析为 FromStr::Err,而不是 SomeOtherTrait::Err

仍然,在 parse 文档中给出以下行...

parse can parse any type that implements the FromStr trait

为什么没有 trait bound?

最佳答案

它确实使用特征边界,但是边界是使用 where 子句指定的。 Look closer :

pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
where
F: FromStr,

关于rust - 为什么 std::str::parse 的签名不使用特征绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50316305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com