diff options
| author | Lukas Wirth <me@lukaswirth.dev> | 2025-07-29 08:31:08 +0200 |
|---|---|---|
| committer | Lukas Wirth <me@lukaswirth.dev> | 2025-07-29 08:31:08 +0200 |
| commit | 8b214fbf17d4e6f8e3ba38a26cffd741ac53adb8 (patch) | |
| tree | 667a58f79f48a9aa8050afe8bfb1c1a1657df33d | |
| parent | 2792799490b994ba3e7380fe9a151a6b95a1d7d1 (diff) | |
| download | rust-8b214fbf17d4e6f8e3ba38a26cffd741ac53adb8.tar.gz rust-8b214fbf17d4e6f8e3ba38a26cffd741ac53adb8.zip | |
fix: Do not require all rename definitions to be renameable
| -rw-r--r-- | src/tools/rust-analyzer/crates/ide/src/rename.rs | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/tools/rust-analyzer/crates/ide/src/rename.rs b/src/tools/rust-analyzer/crates/ide/src/rename.rs index a07c647c2cb..6c1d142c3b0 100644 --- a/src/tools/rust-analyzer/crates/ide/src/rename.rs +++ b/src/tools/rust-analyzer/crates/ide/src/rename.rs @@ -35,13 +35,8 @@ pub(crate) fn prepare_rename( let syntax = source_file.syntax(); let res = find_definitions(&sema, syntax, position, &Name::new_symbol_root(sym::underscore))? - .map(|(frange, kind, def, _, _)| { - // ensure all ranges are valid - - if def.range_for_rename(&sema).is_none() { - bail!("No references found at position") - } - + .filter(|(_, _, def, _, _)| def.range_for_rename(&sema).is_some()) + .map(|(frange, kind, _, _, _)| { always!( frange.range.contains_inclusive(position.offset) && frange.file_id == position.file_id |
