]> git.lizzy.rs Git - rust.git/commitdiff
reshuffle nones
authorAleksey Kladov <aleksey.kladov@gmail.com>
Fri, 11 Jan 2019 10:29:53 +0000 (13:29 +0300)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Fri, 11 Jan 2019 13:01:57 +0000 (16:01 +0300)
crates/ra_ide_api/src/navigation_target.rs

index cff11eeabcbf32991d5c6c8eeec0dd37bb9ffac5..b2a53e9aa5f5bbcb70649acad07d4d6e451d38ec 100644 (file)
@@ -24,34 +24,22 @@ pub(crate) fn from_symbol(symbol: FileSymbol) -> NavigationTarget {
 
     // TODO once Def::Item is gone, this should be able to always return a NavigationTarget
     pub(crate) fn from_def(db: &RootDatabase, def: Def) -> Cancelable<Option<NavigationTarget>> {
-        Ok(match def {
+        let res = match def {
             Def::Struct(s) => {
                 let (file_id, node) = s.source(db)?;
-                Some(NavigationTarget::from_named(
-                    file_id.original_file(db),
-                    &*node,
-                ))
+                NavigationTarget::from_named(file_id.original_file(db), &*node)
             }
             Def::Enum(e) => {
                 let (file_id, node) = e.source(db)?;
-                Some(NavigationTarget::from_named(
-                    file_id.original_file(db),
-                    &*node,
-                ))
+                NavigationTarget::from_named(file_id.original_file(db), &*node)
             }
             Def::EnumVariant(ev) => {
                 let (file_id, node) = ev.source(db)?;
-                Some(NavigationTarget::from_named(
-                    file_id.original_file(db),
-                    &*node,
-                ))
+                NavigationTarget::from_named(file_id.original_file(db), &*node)
             }
             Def::Function(f) => {
                 let (file_id, node) = f.source(db)?;
-                Some(NavigationTarget::from_named(
-                    file_id.original_file(db),
-                    &*node,
-                ))
+                NavigationTarget::from_named(file_id.original_file(db), &*node)
             }
             Def::Module(m) => {
                 let (file_id, source) = m.definition_source(db)?;
@@ -61,15 +49,16 @@ pub(crate) fn from_def(db: &RootDatabase, def: Def) -> Cancelable<Option<Navigat
                     .unwrap_or_else(|| SmolStr::new(""));
                 match source {
                     ModuleSource::SourceFile(node) => {
-                        Some(NavigationTarget::from_syntax(file_id, name, node.syntax()))
+                        NavigationTarget::from_syntax(file_id, name, node.syntax())
                     }
                     ModuleSource::Module(node) => {
-                        Some(NavigationTarget::from_syntax(file_id, name, node.syntax()))
+                        NavigationTarget::from_syntax(file_id, name, node.syntax())
                     }
                 }
             }
-            Def::Item => None,
-        })
+            Def::Item => return Ok(None),
+        };
+        Ok(Some(res))
     }
 
     fn from_named(file_id: FileId, node: &impl ast::NameOwner) -> NavigationTarget {