0

我正在开发一个紫水晶系统,该系统需要在一种存储类型上进行两个不同的连接,其中一个需要是可变的。我有一个我定义的辅助函数,它获取不可变连接的结果和可变连接的当前迭代的部分,但我不知道用什么类型来注释不可变连接。

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 还很陌生,所以我会很感激任何关于在这里做什么的帮助,或者通常在文档中寻找什么来自己找到这些信息。

4

0 回答 0