lifetime/
lifetime.rs

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}