diff options
Diffstat (limited to 'tests/ui/nll/issue-52057.rs')
-rw-r--r-- | tests/ui/nll/issue-52057.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/nll/issue-52057.rs b/tests/ui/nll/issue-52057.rs new file mode 100644 index 000000000..98f49fe8f --- /dev/null +++ b/tests/ui/nll/issue-52057.rs @@ -0,0 +1,22 @@ +// Regression test for #52057. There is an implied bound +// that `I: 'a` where `'a` is the lifetime of `self` 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() {} |