| //@ check-pass | |
| //@ compile-flags: -Znext-solver | |
| fn foo<'a: 'a>(x: &'a Vec<i32>) -> impl Sized { | |
| () | |
| } | |
| fn main() { | |
| // in NLL, we want to make sure that the `'a` subst of `foo` does not get | |
| // related between `x` and the RHS of the assignment. That would require | |
| // that the temp is live for the lifetime of the variable `x`, which of | |
| // course is not necessary since `'a` is not captured by the RPIT. | |
| let x = foo(&Vec::new()); | |
| } |