generics - 引用到通用特征的生命周期
问题描述
我试图要求一个泛型类型可以通过 const ref 索引到另一个泛型:
struct A<T, I> where T: Index<&I> {
t: T,
some_more_uses_of_I...
}
它不编译要求我为 &I 提供一生。当我将其更改为&'_ I
编译器时,会抱怨“'_
不能在此处使用”并且“'_
是保留的生命周期名称”。我怎样才能让它工作?据我了解,生命周期没有真正的需要,引用必须仅在执行期间才有效,[]
并且我相信我不应该将其绑定到任何其他对象。
解决方案
在不确切知道您如何使用此结构的情况下,很难说。但听起来你可以使用更高级别的特征绑定,这样约束在整个生命周期中都是通用的:
struct A<T, I>
where
T: for<'a> Index<&'a I>
{
t: T,
some_more_uses_of_I...
}
推荐阅读
- ssl - 安装让我们在vesta cp中加密SSL
- json-ld - 如何在 JSON-LD 上下文中定义必需的属性
- c# - 如何使用 C# 和 WPF 自动更新列表?
- python-3.x - 在 numpy ndarray 的共轭上应用 numpy fft 时出现“TypeError:需要浮点数”错误
- roslyn - Roslyn - SyntaxFactory - 解析语句 - 添加回车/换行?
- javascript - 输入键和onclick一起
- angular - 角度变化输入值及显示
- laravel - Dusk 中的 URL 断言使用哪个函数?
- django - Django:按距离排序对象
- forms - Kentico 更新订单项目替代形式