24 lines
304 B
Rust
24 lines
304 B
Rust
|
// run-pass
|
||
|
|
||
|
trait Foo<'a> {
|
||
|
fn xyz(self);
|
||
|
}
|
||
|
impl<'a, T> Foo<'a> for T where 'static: 'a {
|
||
|
fn xyz(self) {}
|
||
|
}
|
||
|
|
||
|
trait Bar {
|
||
|
fn uvw(self);
|
||
|
}
|
||
|
impl<T> Bar for T where for<'a> T: Foo<'a> {
|
||
|
fn uvw(self) { self.xyz(); }
|
||
|
}
|
||
|
|
||
|
fn foo<T>(t: T) where T: Bar {
|
||
|
t.uvw();
|
||
|
}
|
||
|
|
||
|
fn main() {
|
||
|
foo(0);
|
||
|
}
|