generics - 是否存在用于引用和值的通用代码的特征,而无需将其全部写出两次?
问题描述
我有一个为迭代器实现的特征 over &u64
,但有时我想将它与产生的迭代器一起使用u64
。我想知道是否有一种方法可以为两者实现我的特征,T
而&T
无需将其全部写出两次。我认为它相当于这个问题:
pub fn foo<T: RefOrValue<i32>>(t: T) {
let x: i32 = t.to_value();
// ...
}
pub fn main() {
foo(1i32);
foo(&2i32);
}
是否RefOrValue
存在这样的特征?
解决方案
推荐阅读
- android - OnClickListeners:防止内存泄漏
- clickhouse - 是否可以使用 ClickHouse 查询数百万行
- typescript - 如何存储来自 httpClient Post 响应的数据?
- ocaml - opam安装后的ocaml未绑定模块
- java - 在计算 PCA 附带的附加值时更好地利用 Apache Spark ML
- android - 调用主线程后,房间数据库操作不会崩溃
- vba - 运行时错误 2471 作为查询参数输入的表达式产生了此错误:使用两个 dlookup 时出现“添加”
- broadcastreceiver - 如果我们无法从 Android 10 中的 BroadcastReceiver 加载活动,如何在 Android 10 中加载闹钟暂停/停止活动
- laravel - 如何通过 API 删除或取消好友
- r - 估计 R 中进程所需的内存