diff --git a/crates/ra_db/src/lib.rs b/crates/ra_db/src/lib.rs index fc5d6d39654..0d1ab48438d 100644 --- a/crates/ra_db/src/lib.rs +++ b/crates/ra_db/src/lib.rs @@ -134,10 +134,7 @@ fn resolve_relative_path( ) -> Option { let path = { let mut path = self.0.file_relative_path(anchor); - // Workaround for relative path API: turn `lib.rs` into ``. - if !path.pop() { - path = RelativePathBuf::default(); - } + assert!(path.pop()); path.push(relative_path); path.normalize() }; diff --git a/crates/ra_hir/src/nameres/mod_resolution.rs b/crates/ra_hir/src/nameres/mod_resolution.rs index e8b8085142c..334cdd692ac 100644 --- a/crates/ra_hir/src/nameres/mod_resolution.rs +++ b/crates/ra_hir/src/nameres/mod_resolution.rs @@ -30,10 +30,7 @@ pub(super) fn descend_into_definition( None => path.push(&name.to_string()), Some(attr_path) => { if self.root_non_dir_owner { - // Workaround for relative path API: turn `lib.rs` into ``. - if !path.pop() { - path = RelativePathBuf::default(); - } + assert!(path.pop()); } path.push(attr_path); } @@ -48,17 +45,13 @@ pub(super) fn resolve_declaration( name: &Name, attr_path: Option<&SmolStr>, ) -> Result<(FileId, ModDir), RelativePathBuf> { - let empty_path = RelativePathBuf::default(); let file_id = file_id.original_file(db); let mut candidate_files = Vec::new(); match attr_to_path(attr_path) { Some(attr_path) => { - let base = if self.root_non_dir_owner { - self.path.parent().unwrap_or(&empty_path) - } else { - &self.path - }; + let base = + if self.root_non_dir_owner { self.path.parent().unwrap() } else { &self.path }; candidate_files.push(base.join(attr_path)) } None => {