rust - 有没有一种很好的方法来表示特征占位符类型的特征边界?
问题描述
今天,我编写了一个带有泛型和 TryFrom 特征的代码,如下所示。
fn foo<A, B, C>(a: A) -> B
where B: TryFrom<A, Error=C>,
C: std::fmt::Debug,
{
B::try_from(a).unwrap()
}
我可以编译这段代码。
但是,类型参数 C 让我觉得非常多余,我认为有更好的方法来表示上面的代码,如下所示。
fn foo<A, B>(a: A) -> B
where B: TryFrom<A, Error = _ where std::fmt::Debug>
{
B::try_from(a).unwrap()
}
但是,此代码被编译器拒绝。
有没有办法像第二个代码一样表示代码以删除浪费的类型参数?
解决方案
推荐阅读
- angular - Angular 8.未知数量的http.get请求在数组中调用,必须是顺序的,使用什么
- asp.net-core - GroupBy 自动映射聚合
- c# - 如果根节点 2 xmlns url 和一个 xmlns 没有前缀,如何获取“xpath”值?
- react-native - 按钮单击时未定义不是对象(评估“_this.props.navigation.navigate”)
- c# - 如何使用 C# 将过滤后的数据从 Autodesk Revit 导出到 MS-Access?
- javascript - 循环到嵌套数组并修改数据
- node.js - 加密后无法解密数据
- c++ - select中的最大FD值是多少?
- laravel - 如果给定值不为零,Laravel 存在验证
- ms-access - 您可以为 ms-access 中的字段分配一系列数字吗?