rust-lang / rust-lang/rust-analyzer
Type inference for generators
Open
Nobody has claimed this yet.
A-ty
S-actionable
- Dominant language
- Rust
- Stars
- 16.9k
- Forks
- 2.2k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 72
Description
#![feature(generators)]
fn main() {
let x = || { yield 3 };
}
When using VSCode with this code I notice that:
- It seems a
yieldwith argument is reported by analyzer as error. - Also helping hint about
xtype displays thatxhave closure type|| -> i32instead of generator trait type.
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
Reproduce the report in VSCode using the provided generators snippet, checking both the yield error and the inferred type shown for x. Trace the analyzer's generator handling and type-inference entry points; done means the yield with an argument is accepted and x is presented with its generator trait type.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100