rust/src/test/ui/issues/issue-38091.rs
2019-07-27 18:56:16 +03:00

20 lines
347 B
Rust

// run-pass
#![feature(specialization)]
trait Iterate<'a> {
type Ty: Valid;
fn iterate(self);
}
impl<'a, T> Iterate<'a> for T where T: Check {
default type Ty = ();
default fn iterate(self) {}
}
trait Check {}
impl<'a, T> Check for T where <T as Iterate<'a>>::Ty: Valid {}
trait Valid {}
fn main() {
Iterate::iterate(0);
}