summaryrefslogtreecommitdiffstats
path: root/tests/ui/impl-trait/in-trait/opaque-variances.rs
blob: 63e56051d1a8d231d747b88279a490059d4d2cf1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 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());
}