Skip to content

Commit 1cb6ab8

Browse files
committed
internal: error instead of panic on invalid file range
1 parent fa70b0a commit 1cb6ab8

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

crates/rust-analyzer/src/from_proto.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,10 @@ pub(crate) fn offset(line_index: &LineIndex, position: lsp_types::Position) -> R
4242
pub(crate) fn text_range(line_index: &LineIndex, range: lsp_types::Range) -> Result<TextRange> {
4343
let start = offset(line_index, range.start)?;
4444
let end = offset(line_index, range.end)?;
45-
let text_range = TextRange::new(start, end);
46-
Ok(text_range)
45+
match end < start {
46+
true => Err(format_err!("Invalid Range").into()),
47+
false => Ok(TextRange::new(start, end)),
48+
}
4749
}
4850

4951
pub(crate) fn file_id(snap: &GlobalStateSnapshot, url: &lsp_types::Url) -> Result<FileId> {

0 commit comments

Comments
 (0)