Fix prepare_rename failing for modules

This commit is contained in:
Lukas Tobias Wirth 2021-05-19 14:19:44 +02:00
parent e3d0d89d7e
commit 2c7a8c4857

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"))?;