// ignore-pretty
+#![allow(unknown_features)]
+#![feature(box_syntax)]
#![feature(unboxed_closures)]
struct Parser<'a, I, O> {
fn compose<K: 'a>(mut self, mut rhs: Parser<'a, O, K>) -> Parser<'a, I, K> {
Parser {
parse: box move |&mut: x: I| {
- match (*self.parse).call_mut((x,)) {
- Ok(r) => (*rhs.parse).call_mut((r,)),
+ match (self.parse)(x) {
+ Ok(r) => (rhs.parse)(r),
Err(e) => Err(e)
}
}