#[macro_use]
extern crate nom;

pub mod metadata;
mod utility;

use metadata::metadata;

pub struct Stream {
  pub metadata: Vec<metadata::Block>,
  //frames: Vec<u32>
}

named!(stream <&[u8], Stream>,
  chain!(
    blocks: metadata,
    || {
      Stream {
        metadata: blocks,
      }
    }
  )
);

#[macro_use]
extern crate nom;

pub mod metadata;
mod utility;

use metadata::metadata;

pub struct Stream<'a> {
  pub metadata: Vec<metadata::Block<'a>>,
  //frames: Vec<u32>
}

named!(stream <&[u8], Stream>,
  chain!(
    blocks: metadata,
    || {
      Stream {
        metadata: blocks,
      }
    }
  )
);

--- 
+++ 
@@ -6,8 +6,8 @@
 
 use metadata::metadata;
 
-pub struct Stream<'a> {
-  pub metadata: Vec<metadata::Block<'a>>,
+pub struct Stream {
+  pub metadata: Vec<metadata::Block>,
   //frames: Vec<u32>
 }
 
Remove lifetime annotation inside `Stream` type
