const FILE_NAME: &str = "/tmp/main.rs";
fn main() {
println!("Hello, world!");
let metadata;
match std::fs::metadata(FILE_NAME) {
Ok(meta_data) => {
metadata = meta_data;
println!("metadata: {:?}", metadata);
}
_ => {
panic!("not meta enough!");
}
}
let modified: std::time::SystemTime;
match metadata.modified() {
Ok(x) => {
modified = x;
println!("modified: {:?}", modified); // this works
}
_ => (),
}
// println!("modified: {:?}", modified); //-> this does not work
let len = metadata.len();
println!("metadata: {:?}", metadata);
println!("len: {}", len);
}
Я не понимаю, почему происходит сбой, если я раскомментирую строку 22:
error[E0381]: borrow of possibly-uninitialized variable: `modified`
--> src/main.rs:25:32
|
25 | println!("modified: {:?}", modified); //-> this does not work
| ^^^^^^^^ use of possibly-uninitialized `modified`
Тот же код в строке 18 работает нормально. Что я пропускаю?