8880: fix: prepare_rename failing for modules r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Tobias Wirth <lukastw97@gmail.com>
This commit is contained in:
bors[bot] 2021-05-19 12:21:21 +00:00 committed by GitHub
commit dc0f2c20f2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -55,12 +55,14 @@ pub(crate) fn prepare_rename(
match def {
Definition::SelfType(_) => bail!("Cannot rename `Self`"),
Definition::ModuleDef(ModuleDef::BuiltinType(_)) => bail!("Cannot rename builtin type"),
_ => {}
Definition::ModuleDef(ModuleDef::Module(_)) => (),
_ => {
let nav = def
.try_to_nav(sema.db)
.ok_or_else(|| format_err!("No references found at position"))?;
nav.focus_range.ok_or_else(|| format_err!("No identifier available to rename"))?;
}
};
let nav =
def.try_to_nav(sema.db).ok_or_else(|| format_err!("No references found at position"))?;
nav.focus_range.ok_or_else(|| format_err!("No identifier available to rename"))?;
let name_like = sema
.find_node_at_offset_with_descend(&syntax, position.offset)
.ok_or_else(|| format_err!("No references found at position"))?;