在Rust中,当我们希望一个 struct 包含引用时,我们通常会这样定义它们的生存期:
struct Foo<'a> {
x: &'a i32,
y: &'a i32,
}
但也可以为同一 struct 中的不同引用定义多个生存期:
struct Foo<'a, 'b> {
x: &'a i32,
y: &'b i32,
}
什么时候这样做有用?有人能提供一些示例代码,当两个生命周期都为'a
时不编译,但当两个生命周期都为'a
和'b
时编译(或反之亦然)?