operator.itemgetterを使うとエラーになる
Opened this issue · 0 comments
sei40kr commented
以下のファイルで使おうとするとpanicが発生しました。
https://github.com/sei40kr/yonvim/blob/main/packages/yonvim/plugins/plugins.py
以下NeovimのLSPログです:
[ERROR][2023-11-06 03:11:27] .../vim/lsp/rpc.lua:734 "rpc" "/etc/profiles/per-user/sei40kr/bin/pylyzer" "stderr" "thread 'pylyzer' panicked at 'called `Option::unwrap()` on a `None` value', /build/pylyzer-0.0.49-vendor.tar.gz/erg_compiler/lower.rs:1341:38\nnote: run with `RUST_BACKTRACE=1` environment variable to display a backtrace\n"
[ERROR][2023-11-06 03:11:27] .../vim/lsp/rpc.lua:734 "rpc" "/etc/profiles/per-user/sei40kr/bin/pylyzer" "stderr" "Thread panicked: Any { .. }\n"
スクリプトを書き換えながらパースに失敗している部分を検証したところ、どうやら operator.itemgetter
の部分がパースに失敗しているようです。
https://github.com/sei40kr/yonvim/blob/main/packages/yonvim/plugins/plugins.py#L203
該当箇所2行を削除すると正常に実行できました。
同じエラーを発生される最小コードはこちらになります。
import operator
foo = {
"a": 1,
"b": 2,
}
a, b = operator.itemgetter("a", "b")(foo)