ebml-iterable 0.2.0

This crate provides an iterator over EBML encoded data. The items provided by the iterator are Tags as defined in EBML. The iterator is spec-agnostic and requires a specification implementing the TagSpec trait to read files. Typically, you would only use this crate to implement a custom specification - most often you would prefer a crate providing an existing specification, like `webm-iterable`.
Documentation
#[cfg(feature = "derive-spec")]
pub mod derive_spec_compile {
    use ebml_iterable::specs::{EbmlSpecification, TagDataType};
    
    #[derive(EbmlSpecification, Debug, Eq, PartialEq)]
    pub enum Trial {
        #[id(0x01)]
        #[data_type(TagDataType::Master)]
        Root,
    
        #[id(0x02)]
        #[data_type(TagDataType::Master)]
        Parent,
    
        #[id(0x100)]
        #[data_type(TagDataType::UnsignedInt)]
        Count,
    
        #[id(0x200)]
        #[data_type(TagDataType::Binary)]
        Data,    
    }

    #[test]
    pub fn compile_worked() {
        let item = Trial::get_tag(0x01).unwrap();
        let tag = item.0;
        let data_type = item.1;
        assert_eq!(Trial::Root, tag);
        assert_eq!(TagDataType::Master, data_type);
    }
}