rust - 有没有办法避免在很多地方写类型约束?
问题描述
我有一个需要实现很多特征的泛型类型的结构,这让我的代码读/写非常令人沮丧,因为我需要在很多地方包含这些约束。这是一个例子:
use std::fmt::*;
use std::ops::*;
pub struct MyStruct<T: Copy + Clone + Display + Debug + Neg + Eq + Ord + Cmp> {
//...
}
impl<T: Copy + Clone + Display + Debug + Neg + Eq + Ord + Cmp> MyStruct<T> {
//...
}
impl<T: Copy + Clone + Display + Debug + Neg + Eq + Ord + Cmp> Ord for MyStruct<T> {
//...
}
impl<T: Copy + Clone + Display + Debug + Neg + Eq + Ord + Cmp> Neg for MyStruct<T> {
//...
}
我没有尝试编译这个例子,所以我可能在其中犯了错误,但我认为它充分说明了这个问题。有没有办法以类型约束只出现在一个地方的方式来编写它?
解决方案
推荐阅读
- embedded - MPLAB X XC8 错误:(500) 未定义符号
- angular - 在页面/计算机关闭之前运行功能/服务
- django - 将对象传递给表单让我 __init__() 得到了一个意外的关键字参数“实例”
- html - 使用 javascript 创建的样式表
- javascript - 两个函数之间的javascript范围问题
- c# - 运算符“>=”不能应用于“字符串”和“整数”类型的操作数
- python - Skilearn ImportError:DLL加载失败:找不到指定的模块
- python - 使用张量板回调时出现 CUPTI 错误
- flutter - Flutter 镜像版本问题
- eclipse - 在 Eclipse 中调试 Maven 目标