remove relative_path_buf workaround

The upstream problem was fixed with the change to 1.0
This commit is contained in:
Aleksey Kladov 2019-10-27 12:36:40 +03:00
parent da5528824a
commit 8464c45086
2 changed files with 4 additions and 14 deletions

View File

@ -134,10 +134,7 @@ fn resolve_relative_path(
) -> Option<FileId> {
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()
};

View File

@ -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 => {