mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-11-15 09:27:27 +00:00
Fix prepare_rename failing for modules
This commit is contained in:
parent
e3d0d89d7e
commit
2c7a8c4857
1 changed files with 7 additions and 5 deletions
|
@ -55,12 +55,14 @@ pub(crate) fn prepare_rename(
|
||||||
match def {
|
match def {
|
||||||
Definition::SelfType(_) => bail!("Cannot rename `Self`"),
|
Definition::SelfType(_) => bail!("Cannot rename `Self`"),
|
||||||
Definition::ModuleDef(ModuleDef::BuiltinType(_)) => bail!("Cannot rename builtin type"),
|
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
|
let name_like = sema
|
||||||
.find_node_at_offset_with_descend(&syntax, position.offset)
|
.find_node_at_offset_with_descend(&syntax, position.offset)
|
||||||
.ok_or_else(|| format_err!("No references found at position"))?;
|
.ok_or_else(|| format_err!("No references found at position"))?;
|
||||||
|
|
Loading…
Reference in a new issue