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