blob: ed3d564c9488636a27dbc905636487ed365101d3 [file] [log] [blame] [edit]
//@ check-fail
trait StreamingIter {
type Item<'a> where Self: 'a;
fn next<'a>(&'a mut self) -> Option<Self::Item::<'a>>;
}
struct StreamingSliceIter<'a, T> {
idx: usize,
data: &'a mut [T],
}
impl<'b, T: 'b> StreamingIter for StreamingSliceIter<'b, T> {
type Item<'a> = &'a mut T;
//~^ ERROR: the parameter type
//~| ERROR: does not fulfill the required lifetime
fn next(&mut self) -> Option<&mut T> {
loop {}
}
}
fn main() {}