Rust如何结合它的多个生命周期?

代码如下:

fn inner<'a:'b, 'b>(x:&'a i32, _y:&'b i32) -> &'b i32 {
    x
}

fn main() {
  let a = 1;
  {
      let b = 2;
      inner(&b, &a);
      inner(&a, &b);
  }
}

'a:'b函数中的边界inner意味着生命周期'a持续时间超过'b。在上面的例子中,变量的生命周期比ba。借用检查器在遇到inner(&b, &a). 但是,代码可以编译。有人可以提供一些解释吗?

以上是Rust如何结合它的多个生命周期?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>