extern crate parse; fn main() { let src = "x:-3.14,\n\ y:5,\n\ sha1:9a7270b7e752fcc3f51decbc656270834ed45a39".as_bytes(); let src = &mut &src[..]; parse::literal(src, "x:").unwrap(); let _x = parse::f32(src).unwrap(); parse::literal(src, ",").unwrap(); parse::whitespace_if_any(src); parse::literal(src, "y:").unwrap(); let _y = parse::f32(src).unwrap(); parse::literal(src, ",").unwrap(); parse::whitespace_if_any(src); let mut hash = [0u8; 20]; parse::literal(src, "sha1:").unwrap(); parse::hex_string(src, &mut hash[..]).unwrap(); for &b in &hash[..] { print!("{:02x}", b); } println!(""); }