The former code is more equivalent to:
let file = match file {
Some(file) => file,
None => panic!("file was null");
}; let file = match file {
Some(file) => file,
None => panic!("file was null");
}; let file = file.expect("file was null");
That is, the "expect" method does exactly this. let file = file.unwrapOrPanicWith("file was null");
option.expect(message) doesn't semantically make sense.