]> git.proxmox.com Git - rustc.git/blame - src/test/ui-fulldeps/deriving-encodable-decodable-box.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / src / test / ui-fulldeps / deriving-encodable-decodable-box.rs
CommitLineData
416331ca
XL
1// run-pass
2
0bf4aa26 3#![allow(unused_imports)]
c34b1796 4#![feature(rustc_private)]
1a4d82fc 5
3dfed10e 6extern crate rustc_macros;
f035d41b 7extern crate rustc_serialize;
1a4d82fc 8
3dfed10e 9use rustc_macros::{Decodable, Encodable};
923072b8
FG
10use rustc_serialize::opaque::{MemDecoder, MemEncoder};
11use rustc_serialize::{Decodable, Encodable, Encoder};
1a4d82fc 12
3dfed10e 13#[derive(Encodable, Decodable)]
1a4d82fc
JJ
14struct A {
15 foo: Box<[bool]>,
16}
17
18fn 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}