// Copyright 2015, 2016 Ethcore (UK) Ltd. // This file is part of Parity. // Parity is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // Parity is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with Parity. If not, see . use ipc::*; use std::mem; use std::collections::VecDeque; #[derive(Binary)] pub enum Root { Top, Middle(u32, u64), } #[derive(Binary, PartialEq, Debug)] pub struct DoubleRoot { pub x1: u32, pub x2: u64, pub x3: u32, } #[derive(Binary, PartialEq, Debug)] pub struct ReferenceStruct<'a> { pub ref_data: &'a u64, } #[derive(Binary, PartialEq, Debug)] pub enum EnumWithStruct { Left, Right { how_much: u64 }, } #[derive(Binary)] pub struct TwoVec { v1: Vec, v2: Vec, } #[test] fn opt_two_vec() { let example: Option = None; let serialized = ::ipc::binary::serialize(&example).unwrap(); assert_eq!(serialized, vec![0u8; 16]); }