about summary refs log tree commit diff
path: root/tests/ui/impl-trait/in-bindings/lifetime-equality.rs
blob: 6cf48dccc7d97152205e66089e3e9cb298d2593e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//@ check-pass

#![feature(impl_trait_in_bindings)]

// A test for #61773 which would have been difficult to support if we
// were to represent `impl_trait_in_bindings` using opaque types.

trait Trait<'a, 'b> { }
impl<T> Trait<'_, '_> for T { }


fn bar<'a, 'b>(data0: &'a u32, data1: &'b u32) {
  let x: impl Trait<'_, '_> = (data0, data1);
  force_equal(x);
}

fn force_equal<'a>(t: impl Trait<'a, 'a>) { }

fn main() { }