Skip to content

Panic with not implemented CompletionItemKind(0) in Odin project #4657

Closed
@Tefached95

Description

@Tefached95

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

  1. Install Odin and OLS, put both in PATH
  2. Add support for OLS inside Helix
  3. hx . inside the project directory
  4. Open the src/interpreter/interpreter.odin file
  5. Go down to line 38 inside interpreter.odin
  6. Start typing memory
  7. 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

helix.log

Platform

Windows 11

Terminal Emulator

Windows Terminal Version: 1.15.2875.0

Helix Version

helix 22.08.1 (6cafd81)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-language-serverArea: Language server clientC-bugCategory: This is a bugE-good-first-issueCall for participation: Issues suitable for new contributorsE-has-instructionsCall for participation: Has instructions for fixing the issue and opening a PR

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions