我正在开发一个紫水晶系统,该系统需要在一种存储类型上进行两个不同的连接,其中一个需要是可变的。我有一个我定义的辅助函数,它获取不可变连接的结果和可变连接的当前迭代的部分,但我不知道用什么类型来注释不可变连接。
fn helper_function(
itemA: &A,
itemB: &B,
otherItems: ??
) {...}
impl<'a> System<'a> for MySystem {
type SystemData = (
Read<'a, A>,
Write<'a, B>,
Read<'a, C>
);
fn run(&mut self, (aa, bb, cc): Self::SystemData) {
let data = (&bb, &cc).join().clone();
for (a, b) in (&aa, &mut bb).join() {
helper_function(a, b, data);
}
}
}
我查看了文档,看起来data
这里的类型是某种名为的私有特征JoinIter
,但我尝试只是注释它(并且我尝试过JoinIter<(B, C)>
),但我认为我一定遗漏了一些东西。我对 Rust 还很陌生,所以我会很感激任何关于在这里做什么的帮助,或者通常在文档中寻找什么来自己找到这些信息。