3 #![allow(unused_imports)]
4 #![feature(rustc_private)]
6 extern crate rustc_macros;
7 extern crate rustc_serialize;
9 use rustc_macros::{Decodable, Encodable};
10 use rustc_serialize::opaque::{MemDecoder, MemEncoder};
11 use rustc_serialize::{Decodable, Encodable, Encoder};
13 #[derive(Encodable, Decodable)]
19 let obj = A { foo: Box::new([true, false]) };
21 let mut encoder = MemEncoder::new();
22 obj.encode(&mut encoder);
23 let data = encoder.finish();
25 let mut decoder = MemDecoder::new(&data, 0);
26 let obj2 = A::decode(&mut decoder);
28 assert_eq!(obj.foo, obj2.foo);