Parse unified diffs with rust
```rust extern crate patch; use patch::{parse};
let sample = "\ --- before.py +++ after.py @@ -1,4 +1,4 @@ -bacon -eggs -ham +python +eggy +hamster guido\n";
if let Ok(patch) = parse(sample) { asserteq!(&patch.old.name, "before.py"); asserteq!(&patch.new.name, "after.py"); } else { panic!("failed to parse sample patch"); } ```