diff --git a/src/cargo-fmt/main.rs b/src/cargo-fmt/main.rs index c06df111566..acaf81e0665 100644 --- a/src/cargo-fmt/main.rs +++ b/src/cargo-fmt/main.rs @@ -519,9 +519,16 @@ fn get_cargo_metadata( if let Some(manifest_path) = manifest_path { cmd.manifest_path(manifest_path); } + match cmd.exec() { Ok(metadata) => Ok(metadata), - Err(error) => Err(io::Error::new(io::ErrorKind::Other, error.to_string())), + Err(_) => { + cmd.other_options(&[String::from("--offline")]); + match cmd.exec() { + Ok(metadata) => Ok(metadata), + Err(error) => Err(io::Error::new(io::ErrorKind::Other, error.to_string())), + } + } } }