-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Labels
Description
rust-analyzer version: 0.0.0 (e4977e7 2023-05-18)
rustc version: rustc 1.69.0 (84c898d65 2023-04-16)
RA panic when invoke CallHierarchy
on rust_analyzer::handlers::request::handle_completion
Panic context:
>
version: 0.0.0 (e4977e74d 2023-05-18)
request: callHierarchy/outgoingCalls CallHierarchyOutgoingCallsParams {
item: CallHierarchyItem {
name: "completions",
kind: Function,
tags: None,
detail: Some(
"pub fn completions(db: &RootDatabase, config: &CompletionConfig, position: FilePosition, trigger_character: Option<char>) -> Option<Vec<CompletionItem>>",
),
uri: Url {
scheme: "file",
cannot_be_a_base: false,
username: "",
password: None,
host: None,
port: None,
path: "/home/lh/rust-src/rust-analyzer/crates/ide-completion/src/lib.rs",
query: None,
fragment: None,
},
range: Range {
start: Position {
line: 97,
character: 0,
},
end: Position {
line: 204,
character: 1,
},
},
selection_range: Range {
start: Position {
line: 147,
character: 7,
},
end: Position {
line: 147,
character: 18,
},
},
data: None,
},
work_done_progress_params: WorkDoneProgressParams {
work_done_token: None,
},
partial_result_params: PartialResultParams {
partial_result_token: None,
},
}
thread 'Worker' panicked at 'invalid offset', lib/line-index/src/lib.rs:148:35
stack backtrace:
0: rust_begin_unwind
at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:579:5
1: core::panicking::panic_fmt
at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:64:14
2: core::panicking::panic_display
at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:147:5
3: core::panicking::panic_str
at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:131:5
4: core::option::expect_failed
at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/option.rs:2045:5
5: core::option::Option<T>::expect
6: line_index::LineIndex::line_col
7: rust_analyzer::to_proto::position
8: rust_analyzer::to_proto::range
9: rust_analyzer::handlers::request::handle_call_hierarchy_outgoing::{{closure}}
10: core::iter::adapters::map::map_fold::{{closure}}
11: core::iter::traits::iterator::Iterator::fold
12: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
13: core::iter::traits::iterator::Iterator::for_each
14: alloc::vec::Vec<T,A>::extend_trusted
15: <alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend
16: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
17: alloc::vec::in_place_collect::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
18: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
19: core::iter::traits::iterator::Iterator::collect
20: rust_analyzer::handlers::request::handle_call_hierarchy_outgoing
21: rust_analyzer::dispatch::RequestDispatcher::on::{{closure}}::{{closure}}
22: std::panicking::try::do_call
23: __rust_try
24: std::panicking::try
25: std::panic::catch_unwind
26: rust_analyzer::dispatch::RequestDispatcher::on::{{closure}}
27: rust_analyzer::task_pool::TaskPool<T>::spawn::{{closure}}
28: <F as threadpool::FnBox>::call_box
29: threadpool::spawn_in_pool::{{closure}}
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.