Add cfg attrs to handle auto_encode transition
This commit is contained in:
parent
fc582bcfce
commit
f1d0478002
4 changed files with 58 additions and 0 deletions
|
@ -157,6 +157,15 @@ pub impl Encoder: serialize::Encoder {
|
|||
f();
|
||||
self.wr.write_char('}');
|
||||
}
|
||||
#[cfg(stage0)]
|
||||
fn emit_struct(&self, _name: &str, f: fn()) {
|
||||
self.wr.write_char('{');
|
||||
f();
|
||||
self.wr.write_char('}');
|
||||
}
|
||||
#[cfg(stage1)]
|
||||
#[cfg(stage2)]
|
||||
#[cfg(stage3)]
|
||||
fn emit_struct(&self, _name: &str, _len: uint, f: fn()) {
|
||||
self.wr.write_char('{');
|
||||
f();
|
||||
|
@ -270,6 +279,13 @@ pub impl PrettyEncoder: serialize::Encoder {
|
|||
self.indent -= 2;
|
||||
self.wr.write_char('}');
|
||||
}
|
||||
#[cfg(stage0)]
|
||||
fn emit_struct(&self, _name: &str, f: fn()) {
|
||||
self.emit_rec(f)
|
||||
}
|
||||
#[cfg(stage1)]
|
||||
#[cfg(stage2)]
|
||||
#[cfg(stage3)]
|
||||
fn emit_struct(&self, _name: &str, _len: uint, f: fn()) {
|
||||
self.emit_rec(f)
|
||||
}
|
||||
|
@ -870,6 +886,16 @@ pub impl Decoder: serialize::Decoder {
|
|||
move value
|
||||
}
|
||||
|
||||
#[cfg(stage0)]
|
||||
fn read_struct<T>(&self, _name: &str, f: fn() -> T) -> T {
|
||||
debug!("read_struct()");
|
||||
let value = f();
|
||||
self.pop();
|
||||
move value
|
||||
}
|
||||
#[cfg(stage1)]
|
||||
#[cfg(stage2)]
|
||||
#[cfg(stage3)]
|
||||
fn read_struct<T>(&self, _name: &str, _len: uint, f: fn() -> T) -> T {
|
||||
debug!("read_struct()");
|
||||
let value = f();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue