rust/tests/ui/generic-associated-types/variance_constraints.rs

23 lines
289 B
Rust

//@ check-pass
// issue #69184
trait A {
type B<'a> where Self: 'a;
fn make_b<'a>(&'a self) -> Self::B<'a>;
}
struct S {}
impl A for S {
type B<'a> = &'a S;
fn make_b<'a>(&'a self) -> &'a Self {
self
}
}
enum E<'a> {
S(<S as A>::B<'a>),
}
fn main() {}