]>
Commit | Line | Data |
---|---|---|
416331ca XL |
1 | // run-pass |
2 | ||
0bf4aa26 XL |
3 | #![allow(unused_mut)] |
4 | #![allow(unused_imports)] | |
c34b1796 | 5 | #![feature(rustc_private)] |
1a4d82fc | 6 | |
3dfed10e | 7 | extern crate rustc_macros; |
f035d41b | 8 | extern crate rustc_serialize; |
1a4d82fc | 9 | |
3dfed10e | 10 | use rustc_macros::{Decodable, Encodable}; |
923072b8 FG |
11 | use rustc_serialize::opaque::{MemDecoder, MemEncoder}; |
12 | use rustc_serialize::{Decodable, Encodable, Encoder}; | |
1a4d82fc | 13 | |
3dfed10e | 14 | #[derive(Encodable, Decodable, PartialEq, Debug)] |
1a4d82fc JJ |
15 | struct UnitLikeStruct; |
16 | ||
17 | pub fn main() { | |
18 | let obj = UnitLikeStruct; | |
923072b8 FG |
19 | |
20 | let mut encoder = MemEncoder::new(); | |
21 | obj.encode(&mut encoder); | |
22 | let data = encoder.finish(); | |
23 | ||
24 | let mut decoder = MemDecoder::new(&data, 0); | |
5e7ed085 | 25 | let obj2 = UnitLikeStruct::decode(&mut decoder); |
923072b8 | 26 | |
5e7ed085 | 27 | assert_eq!(obj, obj2); |
1a4d82fc | 28 | } |