]> git.lizzy.rs Git - rust.git/blobdiff - src/test/ui-fulldeps/deriving-encodable-decodable-box.rs
Move `finish` out of the `Encoder` trait.
[rust.git] / src / test / ui-fulldeps / deriving-encodable-decodable-box.rs
index 678ba18bf045d2879da89967bea531eebf943fa0..382fae4a08eb9635938856ca82a222b929335293 100644 (file)
@@ -8,7 +8,7 @@
 
 use rustc_macros::{Decodable, Encodable};
 use rustc_serialize::opaque;
-use rustc_serialize::{Decodable, Encodable};
+use rustc_serialize::{Decodable, Encodable, Encoder};
 
 #[derive(Encodable, Decodable)]
 struct A {
@@ -17,9 +17,13 @@ struct A {
 
 fn main() {
     let obj = A { foo: Box::new([true, false]) };
-    let mut encoder = opaque::Encoder::new(vec![]);
-    obj.encode(&mut encoder).unwrap();
-    let mut decoder = opaque::Decoder::new(&encoder.data, 0);
+
+    let mut encoder = opaque::Encoder::new();
+    obj.encode(&mut encoder);
+    let data = encoder.finish();
+
+    let mut decoder = opaque::Decoder::new(&data, 0);
     let obj2 = A::decode(&mut decoder);
+
     assert_eq!(obj.foo, obj2.foo);
 }