rust-lang / rust-lang/rust-analyzer

#[macro] impl Trait for Struct misses autocompletion for fn's

Open
#20,231 9 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

A-completion A-proc-macro C-bug
Dominant language
Rust
Stars
16.9k
Forks
2.2k
Avg merge
1d 12h
Merged PRs (30d)
72

Description

steps to reproduce:

Download the demo project for godot-rust.

https://github.com/godot-rust/demo-projects.git

Open the rust lib on a editor that has rust-analyzer enabled.
Open any rust file, find code that starts with:

#[godot_api]
impl IArea2D for SomeStruct { 
}

Invoke the completion list inside of the impl block.

Vscode (Rust Analyzer):

Image

Rust Rover (Non Rust Analyzer):

Image

See that the completion list for Rust Analyzer is a Generic list (it has even println! and assert!, while the list provided by RustRover are the functions of the trait.

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 with the linked godot-rust demo-projects repository and the Rust file containing #[godot_api] impl IArea2D for SomeStruct. Reproduce completion in VS Code with rust-analyzer and compare it with RustRover; done means the completion list in the impl block offers the trait's functions instead of a generic list.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.