4 #![allow(unused_imports)]
5 #![feature(rustc_private)]
7 extern crate rustc_macros;
8 extern crate rustc_serialize;
10 use rustc_macros::{Decodable, Encodable};
11 use rustc_serialize::opaque;
12 use rustc_serialize::{Decodable, Encodable};
14 #[derive(Encodable, Decodable, PartialEq, Debug)]
15 struct UnitLikeStruct;
18 let obj = UnitLikeStruct;
19 let mut encoder = opaque::Encoder::new(vec![]);
20 obj.encode(&mut encoder).unwrap();
21 let mut decoder = opaque::Decoder::new(&encoder.data, 0);
22 let obj2 = UnitLikeStruct::decode(&mut decoder);
23 assert_eq!(obj, obj2);