ebml-iterable 0.6.3

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 specific traits 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::{ebml_specification, TagDataType, Master, EbmlSpecification};
    
    #[ebml_specification]
    #[derive(Clone, Debug, 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,

        #[id(0x201)]
        #[data_type(TagDataType::Utf8)]
        Name,

        #[id(0x102)]
        #[data_type(TagDataType::Float)]
        Amount,

        #[id(0x101)]
        #[data_type(TagDataType::Integer)]
        Id,  
    }

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