]> git.proxmox.com Git - rustc.git/blob - src/test/ui/issues/issue-16668.rs
New upstream version 1.49.0+dfsg1
[rustc.git] / src / test / ui / issues / issue-16668.rs
1 // check-pass
2 #![allow(dead_code)]
3 struct Parser<'a, I, O> {
4 parse: Box<dyn FnMut(I) -> Result<O, String> + 'a>
5 }
6
7 impl<'a, I: 'a, O: 'a> Parser<'a, I, O> {
8 fn compose<K: 'a>(mut self, mut rhs: Parser<'a, O, K>) -> Parser<'a, I, K> {
9 Parser {
10 parse: Box::new(move |x: I| {
11 match (self.parse)(x) {
12 Ok(r) => (rhs.parse)(r),
13 Err(e) => Err(e)
14 }
15 })
16 }
17 }
18 }
19
20 fn main() {}