rust-lang / rust-lang/rust-analyzer
Improve RTN support (resolution + analysis; jump to definition, etc)
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 16.9k
- Forks
- 2.2k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 72
Description
rust-analyzer version: rust-analyzer version: 0.3.2330-standalone (02862f5d52 2025-03-03)
rustc version: rustc 1.87.0-nightly (f9e0239a7 2025-03-04)
editor or extension: VSCode
relevant settings: N/A
repository link (if public, optional): N/A
code snippet to reproduce:
#![feature(return_type_notation)]
trait Foo {
async fn method();
}
async fn foo<T: Foo>() where T::method(..): Send {}
Hiya. r-a still lacks RTN support in resolution and presumably elsewhere in the type system, so I'm opening a tracking issue for that :) I'd be happy to mentor any technical work here to improve RTN (especially to help understand how RTN works in rustc), since I'm looking to stabilize RTN soon.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Rust reproducer using return type notation and compare rust-analyzer's current resolution behavior with the reported gap. Trace the resolution and type-system entry points involved in RTN, then identify the scope needed for analysis and jump-to-definition support. Done means RTN is supported in the relevant IDE features and covered by tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100