about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAleksey Kladov <aleksey.kladov@gmail.com>2020-12-08 16:17:46 +0300
committerAleksey Kladov <aleksey.kladov@gmail.com>2020-12-08 16:17:46 +0300
commitecd1c11f9e8ae7718f4243d1eb4c9a45efd060a2 (patch)
treec3a63a574745b30dfc07efbb6b7eb26e5e545f51
parent021e97ea03cf67ad7785ab39580e04bc69506b8c (diff)
downloadrust-ecd1c11f9e8ae7718f4243d1eb4c9a45efd060a2.tar.gz
rust-ecd1c11f9e8ae7718f4243d1eb4c9a45efd060a2.zip
cleanup: match over unwrap
-rw-r--r--crates/rust-analyzer/src/handlers.rs10
1 files changed, 5 insertions, 5 deletions
diff --git a/crates/rust-analyzer/src/handlers.rs b/crates/rust-analyzer/src/handlers.rs
index 1cf4139d2bb..7bfbc61037b 100644
--- a/crates/rust-analyzer/src/handlers.rs
+++ b/crates/rust-analyzer/src/handlers.rs
@@ -1336,12 +1336,12 @@ pub(crate) fn handle_open_cargo_toml(
 ) -> Result<Option<lsp_types::GotoDefinitionResponse>> {
     let _p = profile::span("handle_open_cargo_toml");
     let file_id = from_proto::file_id(&snap, &params.text_document.uri)?;
-    let maybe_cargo_spec = CargoTargetSpec::for_file(&snap, file_id)?;
-    if maybe_cargo_spec.is_none() {
-        return Ok(None);
-    }
 
-    let cargo_spec = maybe_cargo_spec.unwrap();
+    let cargo_spec = match CargoTargetSpec::for_file(&snap, file_id)? {
+        Some(it) => it,
+        None => return Ok(None),
+    };
+
     let cargo_toml_path = cargo_spec.workspace_root.join("Cargo.toml");
     if !cargo_toml_path.exists() {
         return Ok(None);