rust-lang / rust-lang/rust-analyzer

An option to import traits `as _` when autocompleting

Open
#19,476 5 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

C-feature
Dominant language
Rust
Stars
16.9k
Forks
2.2k
Avg merge
1d 12h
Merged PRs (30d)
72

Description

When importing a trait for a method with a code action, rust-analyzer helpfully suggests to import a trait as _. I prefer this style of imports so it’s obvious that the trait name itself isn’t used. Unfortunately, imports-on-completion / flyimports always import the trait name. I would like an option to change that.

I think I could try implementing this? It looks like it just needs a new field in LocatedImport, setting this field in trait_applicable_items() and then using it at some point later where completions are generated. I might need some guidance though, since it’s my first time touching r-a code.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing LocatedImport through trait_applicable_items() and the later completion-generation path used by imports-on-completion and flyimports. Confirm where the trait name is selected for an import, then make the new option produce as _ imports; done means the option changes generated trait imports without affecting other imports.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
devtools
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
64/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.