Closed
Description
Reproduced by
pub trait Pattern<'a>: Sized {
type Matcher;
}
struct CharEqMatcher<'a, C>(C, &'a str);
impl<'a, C> Pattern<'a> for C {
type Matcher = CharEqMatcher<'a, C>;
}
pub struct MatchIndices<'a, P: Pattern<'a>>(P::Matcher);
impl<'a, P: Pattern<'a>> Clone for MatchIndices<'a, P> where P::Matcher: Clone {
fn clone(&self) -> Self {
MatchIndices(Clone::clone(&self.0))
}
}
fn main() {}
error: internal compiler error: Where clause
`Binder(TraitRef(<P as pattern::Pattern<'a>>::Matcher, core::marker::Sized))` was applicable to
`Obligation(predicate=Binder(TraitPredicate(TraitRef(P, core::marker::Sized))),depth=62)`
but now is not