Closed
Description
Summary
Trying to access a function implemented in an imported package causes the editor to panic.
The project can be found here.
odin version dev-2022-11:f1c24f43
OLS at commit 1c814ac250fa96083981fecc7a5cf22e6440ed2f
Paths to both odin
and ols
have been added to PATH
.
Windows 11 Pro 22H2, build 22621.755
Language support added according to instructions found here inside ~\AppData\Roaming\helix\languages.toml
Here's the full backtrace:
PS E:\Projects\Odin\Odin8> env RUST_BACKTRACE=full hx .
thread 'main' panicked at 'not implemented: CompletionItemKind(0)', helix-term\src\ui\completion.rs:69:31
stack backtrace:
0: 0x7ff75b65e794 - std::backtrace_rs::backtrace::dbghelp::trace
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\..\..\backtrace\src\backtrace\dbghelp.rs:98
1: 0x7ff75b65e794 - std::backtrace_rs::backtrace::trace_unsynchronized
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
2: 0x7ff75b65e794 - std::sys_common::backtrace::_print_fmt
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\sys_common\backtrace.rs:66
3: 0x7ff75b65e794 - std::sys_common::backtrace::_print::impl$0::fmt
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\sys_common\backtrace.rs:45
4: 0x7ff75ad2d80a - core::fmt::write
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\core\src\fmt\mod.rs:1194
5: 0x7ff75b657379 - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\io\mod.rs:1655
6: 0x7ff75b661f4b - std::sys_common::backtrace::_print
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\sys_common\backtrace.rs:48
7: 0x7ff75b661f4b - std::sys_common::backtrace::print
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\sys_common\backtrace.rs:35
8: 0x7ff75b661f4b - std::panicking::default_hook::closure$1
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\panicking.rs:295
9: 0x7ff75b661be9 - std::panicking::default_hook
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\panicking.rs:314
10: 0x7ff75b66268f - std::panicking::rust_panic_with_hook
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\panicking.rs:702
11: 0x7ff75b662403 - std::panicking::begin_panic_handler::closure$0
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\panicking.rs:588
12: 0x7ff75b65f9e7 - std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\sys_common\backtrace.rs:138
13: 0x7ff75b6620bf - std::panicking::begin_panic_handler
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\panicking.rs:584
14: 0x7ff75b707cc5 - core::panicking::panic_fmt
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\core\src\panicking.rs:143
15: 0x7ff75b090ed3 - helix_term::ui::completion::<impl helix_term::ui::menu::Item for lsp_types::completion::CompletionItem>::row::hd8f044cb9d894b9e
16: 0x7ff75b34e8f8 - <helix_term::ui::menu::Menu<T> as helix_term::compositor::Component>::required_size::h42b0dcc06df183a0
17: 0x7ff75b1ad155 - <helix_term::ui::popup::Popup<T> as helix_term::compositor::Component>::required_size::hca9481d4d7afadad
18: 0x7ff75b06be3d - helix_term::ui::editor::EditorView::set_completion::hff7cb75f76a6f238
19: 0x7ff75b362c97 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once::hc6bb1e4c9309133b
20: 0x7ff75b1ce268 - helix_term::job::Jobs::handle_callback::he25a2489a2f6dbbe
21: 0x7ff75b4fad48 - hx::main_impl::{{closure}}::hfb234965068c1ce7
22: 0x7ff75b4c6dea - tokio::park::thread::CachedParkThread::block_on::h81471069af3f9bdd
23: 0x7ff75b4b3f63 - tokio::runtime::scheduler::multi_thread::MultiThread::block_on::hefac43343426bb29
24: 0x7ff75b5190e3 - tokio::runtime::Runtime::block_on::h696f5efcc5998273
25: 0x7ff75b4c9c32 - hx::setup_logging::hca17b0194df5e1c4
26: 0x7ff75b4bf096 - std::sys_common::backtrace::__rust_begin_short_backtrace::hd004344f418fdc62
27: 0x7ff75b5128aa - std::rt::lang_start::{{closure}}::h2c921be82a73ba61
28: 0x7ff75b650572 - core::ops::function::impls::impl$2::call_once
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\library\core\src\ops\function.rs:259
29: 0x7ff75b650572 - std::panicking::try::do_call
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\panicking.rs:492
30: 0x7ff75b650572 - std::panicking::try
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\panicking.rs:456
31: 0x7ff75b650572 - std::panic::catch_unwind
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\panic.rs:137
32: 0x7ff75b650572 - std::rt::lang_start_internal::closure$2
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\rt.rs:128
33: 0x7ff75b650572 - std::panicking::try::do_call
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\panicking.rs:492
34: 0x7ff75b650572 - std::panicking::try
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\panicking.rs:456
35: 0x7ff75b650572 - std::panic::catch_unwind
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\panic.rs:137
36: 0x7ff75b650572 - std::rt::lang_start_internal
at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e\/library\std\src\rt.rs:128
37: 0x7ff75b4c9dd7 - main
38: 0x7ff75b701d9c - invoke_main
at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
39: 0x7ff75b701d9c - __scrt_common_main_seh
at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
40: 0x7ff972ad244d - BaseThreadInitThunk
41: 0x7ff97490dfb8 - RtlUserThreadStart
Reproduction Steps
- Install Odin and OLS, put both in
PATH
- Add support for OLS inside Helix
hx .
inside the project directory- Open the
src/interpreter/interpreter.odin
file - Go down to line 38 inside
interpreter.odin
- Start typing
memory
- Hit dot
.
I expected this to happen:
The language completion feature should have popped up with all the exported functions found within the memory
package.
Instead, this happened:
hx
panics and crashes with Not implemented: CompletionItemKind(0)
Helix log
Platform
Windows 11
Terminal Emulator
Windows Terminal Version: 1.15.2875.0
Helix Version
helix 22.08.1 (6cafd81)