From 86d70941776a7e273239ed6db44adf6f8951d595 Mon Sep 17 00:00:00 2001 From: crhino Date: Mon, 15 Dec 2014 20:28:42 -0800 Subject: [PATCH] Update to latest rust nightly. - rustc 0.13.0-nightly (126db549b 2014-12-15 00:07:35 +0000) --- src/reader.rs | 159 +++++++++++++++++++++++++------------------------ src/writer.rs | 162 ++++++++++++++++++++++++++------------------------ 2 files changed, 166 insertions(+), 155 deletions(-) diff --git a/src/reader.rs b/src/reader.rs index 930dc9d..99d4ba3 100644 --- a/src/reader.rs +++ b/src/reader.rs @@ -70,85 +70,88 @@ impl<'a, R: Reader+Buffer> Decoder for DecoderReader<'a, R> { } Ok(String::from_utf8(vector).unwrap()) } - fn read_enum(&mut self, _: &str, - f: |&mut DecoderReader<'a, R>| -> IoResult) -> IoResult { - f(self) - } - fn read_enum_variant(&mut self, _: &[&str], - f: |&mut DecoderReader<'a, R>, uint| -> IoResult) -> IoResult { - let id = try!(self.read_uint()); - f(self, id) - } - fn read_enum_variant_arg(&mut self, _: uint, - f: |&mut DecoderReader<'a, R>| -> IoResult) -> IoResult { - f(self) - } - fn read_enum_struct_variant(&mut self, names: &[&str], - f: |&mut DecoderReader<'a, R>, uint| -> IoResult) -> IoResult { - self.read_enum_variant(names, f) - } - fn read_enum_struct_variant_field(&mut self, _: &str, f_idx: uint, - f: |&mut DecoderReader<'a, R>| -> IoResult) -> IoResult { - self.read_enum_variant_arg(f_idx, f) - } - fn read_struct(&mut self, _: &str, _: uint, - f: |&mut DecoderReader<'a, R>| -> IoResult) -> IoResult { - f(self) - } - fn read_struct_field(&mut self, _: &str, _: uint, - f: |&mut DecoderReader<'a, R>| -> IoResult) -> IoResult { - f(self) - } - fn read_tuple(&mut self, _: uint, - f: |&mut DecoderReader<'a, R>| -> IoResult) -> - IoResult { - f(self) - } - fn read_tuple_arg(&mut self, _: uint, - f: |&mut DecoderReader<'a, R>| -> IoResult) -> IoResult { - f(self) - } - fn read_tuple_struct(&mut self, _: &str, len: uint, - f: |&mut DecoderReader<'a, R>| -> IoResult) -> - IoResult { - self.read_tuple(len, f) - } - fn read_tuple_struct_arg(&mut self, a_idx: uint, - f: |&mut DecoderReader<'a, R>| -> IoResult) -> IoResult { - self.read_tuple_arg(a_idx, f) - } - fn read_option(&mut self, - f: |&mut DecoderReader<'a, R>, bool| -> IoResult) -> - IoResult { - match try!(self.reader.read_u8()) { - 1 => f(self, true), - _ => f(self, false) + fn read_enum(&mut self, name: &str, f: F) -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>) -> IoResult { + f(self) + } + fn read_enum_variant(&mut self, names: &[&str], f: F) -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>, uint) -> IoResult { + let id = try!(self.read_uint()); + f(self, id) + } + fn read_enum_variant_arg(&mut self, a_idx: uint, f: F) -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>) -> IoResult { + f(self) + } + fn read_enum_struct_variant(&mut self, names: &[&str], f: F) -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>, uint) -> IoResult { + self.read_enum_variant(names, f) + } + fn read_enum_struct_variant_field(&mut self, + _: &str, + f_idx: uint, + f: F) + -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>) -> IoResult { + self.read_enum_variant_arg(f_idx, f) + } + fn read_struct(&mut self, s_name: &str, len: uint, f: F) -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>) -> IoResult { + f(self) + } + fn read_struct_field(&mut self, + f_name: &str, + f_idx: uint, + f: F) + -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>) -> IoResult { + f(self) + } + fn read_tuple(&mut self, len: uint, f: F) -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>) -> IoResult { + f(self) + } + fn read_tuple_arg(&mut self, a_idx: uint, f: F) -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>) -> IoResult { + f(self) + } + fn read_tuple_struct(&mut self, s_name: &str, len: uint, f: F) -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>) -> IoResult { + self.read_tuple(len, f) + } + fn read_tuple_struct_arg(&mut self, a_idx: uint, f: F) -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>) -> IoResult { + self.read_tuple_arg(a_idx, f) + } + fn read_option(&mut self, f: F) -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>, bool) -> IoResult { + match try!(self.reader.read_u8()) { + 1 => f(self, true), + _ => f(self, false) + } + } + fn read_seq(&mut self, f: F) -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>, uint) -> IoResult { + let len = try!(self.read_uint()); + f(self, len) + } + fn read_seq_elt(&mut self, idx: uint, f: F) -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>) -> IoResult { + f(self) + } + fn read_map(&mut self, f: F) -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>, uint) -> IoResult { + let len = try!(self.read_uint()); + f(self, len) + } + fn read_map_elt_key(&mut self, idx: uint, f: F) -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>) -> IoResult { + f(self) + } + fn read_map_elt_val(&mut self, idx: uint, f: F) -> IoResult where + F: FnOnce(&mut DecoderReader<'a, R>) -> IoResult { + f(self) } - } - fn read_seq(&mut self, - f: |&mut DecoderReader<'a, R>, uint| -> IoResult) -> - IoResult { - let len = try!(self.read_uint()); - f(self, len) - } - fn read_seq_elt(&mut self, _: uint, - f: |&mut DecoderReader<'a, R>| -> IoResult) -> IoResult { - f(self) - } - fn read_map(&mut self, - f: |&mut DecoderReader<'a, R>, uint| -> IoResult) -> - IoResult { - let len = try!(self.read_uint()); - f(self, len) - } - fn read_map_elt_key(&mut self, _: uint, - f: |&mut DecoderReader<'a, R>| -> IoResult) -> IoResult { - f(self) - } - fn read_map_elt_val(&mut self, _: uint, - f: |&mut DecoderReader<'a, R>| -> IoResult) -> IoResult { - f(self) - } fn error(&mut self, err: &str) -> IoError { IoError { kind: OtherIoError, diff --git a/src/writer.rs b/src/writer.rs index 7b4be1f..88a518b 100644 --- a/src/writer.rs +++ b/src/writer.rs @@ -61,84 +61,92 @@ impl<'a, W: Writer> Encoder for EncoderWriter<'a, W> { try!(self.emit_uint(v.len())); self.writer.write_str(v) } - fn emit_enum(&mut self, _: &str, - f: |&mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - f(self) - } - fn emit_enum_variant(&mut self, - _: &str, v_id: uint, _: uint, - f: |&mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - try!(self.emit_uint(v_id)); - f(self) - } - fn emit_enum_variant_arg(&mut self, _: uint, - f: |&mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - f(self) - } - fn emit_enum_struct_variant(&mut self, _: &str, _: uint, - _: uint, f: |&mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - f(self) - } - fn emit_enum_struct_variant_field(&mut self, _: &str, - _: uint, f: |&mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - f(self) - } - fn emit_struct(&mut self, _: &str, _: uint, - f: |&mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - f(self) - } - fn emit_struct_field(&mut self, _: &str, _: uint, - f: |&mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - f(self) - } - fn emit_tuple(&mut self, _: uint, - f: |&mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - f(self) - } - fn emit_tuple_arg(&mut self, _: uint, - f: |&mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - f(self) - } - fn emit_tuple_struct(&mut self, _: &str, len: uint, - f: |&mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - self.emit_tuple(len, f) - } - fn emit_tuple_struct_arg(&mut self, f_idx: uint, - f: |&mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - self.emit_tuple_arg(f_idx, f) - } - fn emit_option(&mut self, - f: |&mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - f(self) - } + fn emit_enum(&mut self, name: &str, f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + f(self) + } + fn emit_enum_variant(&mut self, v_name: &str, + v_id: uint, + len: uint, + f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + try!(self.emit_uint(v_id)); + f(self) + } + fn emit_enum_variant_arg(&mut self, a_idx: uint, f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + f(self) + } + fn emit_enum_struct_variant(&mut self, v_name: &str, + v_id: uint, + len: uint, + f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + f(self) + } + fn emit_enum_struct_variant_field(&mut self, + f_name: &str, + f_idx: uint, + f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + f(self) + } + fn emit_struct(&mut self, name: &str, len: uint, f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + f(self) + } + fn emit_struct_field(&mut self, f_name: &str, f_idx: uint, f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + f(self) + } + fn emit_tuple(&mut self, len: uint, f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + f(self) + } + fn emit_tuple_arg(&mut self, idx: uint, f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + f(self) + } + fn emit_tuple_struct(&mut self, name: &str, len: uint, f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + self.emit_tuple(len, f) + } + fn emit_tuple_struct_arg(&mut self, f_idx: uint, f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + self.emit_tuple_arg(f_idx, f) + } + fn emit_option(&mut self, f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + f(self) + } fn emit_option_none(&mut self) -> EwResult { self.writer.write_u8(0) } - fn emit_option_some(&mut self, - f: |&mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - try!(self.writer.write_u8(1)); - f(self) - } - fn emit_seq(&mut self, len: uint, - f: |this: &mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - try!(self.emit_uint(len)); - f(self) - } - fn emit_seq_elt(&mut self, _: uint, - f: |this: &mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - f(self) - } - fn emit_map(&mut self, len: uint, - f: |&mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - try!(self.emit_uint(len)); - f(self) - } - fn emit_map_elt_key(&mut self, _: uint, - f: |&mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - f(self) - } - fn emit_map_elt_val(&mut self, _: uint, - f: |&mut EncoderWriter<'a, W>| -> EwResult) -> EwResult { - f(self) - } + fn emit_option_some(&mut self, f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + try!(self.writer.write_u8(1)); + f(self) + } + fn emit_seq(&mut self, len: uint, f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + try!(self.emit_uint(len)); + f(self) + } + fn emit_seq_elt(&mut self, idx: uint, f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + f(self) + } + fn emit_map(&mut self, len: uint, f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + try!(self.emit_uint(len)); + f(self) + } + fn emit_map_elt_key(&mut self, idx: uint, mut f: F) -> EwResult where + F: FnMut(&mut EncoderWriter<'a, W>) -> EwResult { + f(self) + } + fn emit_map_elt_val(&mut self, idx: uint, f: F) -> EwResult where + F: FnOnce(&mut EncoderWriter<'a, W>) -> EwResult { + f(self) + } }