// edition:2018 // build-pass (FIXME(62277): could be check-pass? trait Trait<'a, 'b> {} impl Trait<'_, '_> for T {} // Test case where we have elision in the impl trait and we have to // pick the right region. // Ultimately `Trait<'x, 'static>`. fn upper_bounds1(a: &u8) -> impl Trait<'_, 'static> { (a, a) } // Ultimately `Trait<'x, 'x>`, so not really multiple bounds. fn upper_bounds2(a: &u8) -> impl Trait<'_, '_> { (a, a) } // Kind of a weird annoying case. fn upper_bounds3<'b>(a: &u8) -> impl Trait<'_, 'b> { (a, a) } fn main() {}