1use std::borrow::Cow;
2
3use binmarshal::*;
4
5#[derive(Debug, Clone, PartialEq, Eq, Marshal, Demarshal)]
6#[marshal(tag_type = "u8")]
7pub enum SomeError<'a> {
8 #[marshal(tag = "0")]
9 MyErrorVariant(Cow<'a, str>)
10}
11
12fn main() {
13 let v = SomeError::<'static>::MyErrorVariant(Cow::Borrowed("Hello World"));
14 let mut writer = VecBitWriter::new();
15 v.write(&mut writer, ()).unwrap();
16
17 let slice = writer.slice();
18 let v2 = SomeError::read(&mut BitView::new(slice), ()).unwrap();
19
20 assert_eq!(v, v2)
21}