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;
11 use rustc_serialize::{Decodable, Encodable};
13 #[derive(Encodable, Decodable)]
19 let obj = A { foo: Box::new([true, false]) };
20 let mut encoder = opaque::Encoder::new(vec![]);
21 obj.encode(&mut encoder).unwrap();
22 let mut decoder = opaque::Decoder::new(&encoder.data, 0);
23 let obj2 = A::decode(&mut decoder);
24 assert_eq!(obj.foo, obj2.foo);