From 2e0610e64e7a573867eea29efcf59ae2fbad0251 Mon Sep 17 00:00:00 2001 From: Anatol Ulrich Date: Wed, 27 Oct 2021 04:42:58 +0200 Subject: [PATCH] one down --- crates/ide/src/rename.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/crates/ide/src/rename.rs b/crates/ide/src/rename.rs index 48d748fd19..51f6b5d133 100644 --- a/crates/ide/src/rename.rs +++ b/crates/ide/src/rename.rs @@ -36,9 +36,10 @@ pub(crate) fn prepare_rename( let mut defs = find_definitions(&sema, syntax, position)?; // TODO: - // - empty case possible or already caught by `find_definitions`? - // - is "just take the first" correct? If not, what do? - let (name_like, _def) = defs.next().unwrap(); + // - is "No references found at position" the right error? (why does it not get caught by `find_definitions`... hmm) + // - is "just take the first `name_like`" correct? If not, what do? + let (name_like, _def) = + defs.next().ok_or_else(|| format_err!("No references found at position"))?; let frange = sema.original_range(name_like.syntax()); always!(frange.range.contains_inclusive(position.offset) && frange.file_id == position.file_id); Ok(RangeInfo::new(frange.range, ()))