// Regression test for #52057. There is an implied bound | |
// that `I: 'x` where `'x` is the lifetime of the reference `&mut Self::Input` | |
// in `parse_first`; but to observe that, one must normalize first. | |
// | |
//@ run-pass | |
pub trait Parser { | |
type Input; | |
fn parse_first(input: &mut Self::Input); | |
} | |
impl<'a, I, P: ?Sized> Parser for &'a mut P | |
where | |
P: Parser<Input = I>, | |
{ | |
type Input = I; | |
fn parse_first(_: &mut Self::Input) {} | |
} | |
fn main() {} |