Emacs/rust-analizer bug(?)

whenever I press C-M-i (complete-symbol), if the symbol i'm trying to complete is already the name of a type that is not imported, it will automatically import the type, even if it is ambiguous.

for example, typing Iter<C-M-i> leads to std::collections::binary_heap::Iter being imported.

on the other hand, if the identifier is not complete, it will always bring up the menu, even if there is only one possible completion.

I think the issue is in lsp-completion--exit-fn, where code edits are applied even if there are multiple candidates.

eglot doesn't have this bug, so I suppose I'm switching back.