use rustc_macros::{Decodable, Encodable};
use rustc_serialize::opaque;
-use rustc_serialize::{Decodable, Encodable};
+use rustc_serialize::{Decodable, Encodable, Encoder};
#[derive(Encodable, Decodable)]
struct A {
fn main() {
let obj = A { foo: Box::new([true, false]) };
- let mut encoder = opaque::Encoder::new(vec![]);
- obj.encode(&mut encoder).unwrap();
- let mut decoder = opaque::Decoder::new(&encoder.data, 0);
+
+ let mut encoder = opaque::Encoder::new();
+ obj.encode(&mut encoder);
+ let data = encoder.finish();
+
+ let mut decoder = opaque::Decoder::new(&data, 0);
let obj2 = A::decode(&mut decoder);
+
assert_eq!(obj.foo, obj2.foo);
}