2022-05-22 02:05:15 -04:00
|
|
|
// revisions: base nll
|
|
|
|
|
// ignore-compare-mode-nll
|
|
|
|
|
//[nll] compile-flags: -Z borrowck=mir
|
|
|
|
|
|
2017-02-17 10:32:25 -05:00
|
|
|
struct Ref<'a, T: 'a> {
|
|
|
|
|
data: &'a T
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn foo<'a, 'b, 'c>(x: &'a mut Vec<Ref<'b, i32>>, y: Ref<'c, i32>) {
|
|
|
|
|
let z = Ref { data: y.data };
|
2022-05-22 02:05:15 -04:00
|
|
|
x.push(z);
|
|
|
|
|
//[base]~^ ERROR lifetime mismatch
|
|
|
|
|
//[nll]~^^ ERROR lifetime may not live long enough
|
2017-02-17 10:32:25 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn main() { }
|