// check-pass // // Regression test from crater run for // . pub trait ElementLike {} pub struct Located where T: ElementLike { inner: T, } pub struct BlockElement<'a>(&'a str); impl ElementLike for BlockElement<'_> {} pub struct Page<'a> { /// Comprised of the elements within a page pub elements: Vec>>, } impl<'a, __IdxT> std::ops::Index<__IdxT> for Page<'a> where Vec>>: std::ops::Index<__IdxT> { type Output = >> as std::ops::Index<__IdxT>>::Output; #[inline] fn index(&self, idx: __IdxT) -> &Self::Output { >> as std::ops::Index<__IdxT>>::index(&self.elements, idx) } } fn main() {}