pub fn from_hex_upper(s: &str) -> Result<Self, Error> {
        if s.len() % 2 != 0 {
            return Err(Error::invalid_app_hash_length());
        }
        let mut h = vec![0; s.len() / 2];
        Hex::upper_case()
            .decode_to_slice(s.as_bytes(), &mut h)
            .map_err(Error::subtle_encoding)?;
        Ok(AppHash(h))
    }
/// Decode a `Hash` from upper-case hexadecimal
Decode a `Hash` from upper-case hexadecimal
Decode a ` Hash ` from upper - case hexadecimal
pub fn from_hex_upper(s: &str) -> Result<Self, Error> {
        if s.len() % 2 != 0 {
            return Err(Error::invalid_app_hash_length());
        }
        let mut h = vec![0; s.len() / 2];
        Hex::upper_case()
            .decode_to_slice(s.as_bytes(), &mut h)
            .map_err(Error::subtle_encoding)?;
        Ok(AppHash(h))
    }
pub fn from_hex_upper ( s : & str ) -> Result < Self , Error > { if s . len ( ) % 2 != 0 { return Err ( Error :: invalid_app_hash_length ( ) ) ; } let mut h = vec ! [ 0 s len ( ) 2 ] ; Hex :: upper_case ( ) . decode_to_slice ( s . as_bytes ( ) , & mut h ) . map_err ( Error :: subtle_encoding ) ? ; Ok ( AppHash ( h ) ) }
Decode a `Hash` from upper-case hexadecimal
Decode a ` Hash ` from upper - case hexadecimal
s
&str