-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
Tracking issue for incorrect lifetime bound errors in async #110338
Copy link
Copy link
Open
Labels
A-async-awaitArea: Async & AwaitArea: Async & AwaitA-auto-traitsArea: auto traits (e.g., `auto trait Send {}`)Area: auto traits (e.g., `auto trait Send {}`)A-coroutinesArea: CoroutinesArea: CoroutinesAsyncAwait-TriagedAsync-await issues that have been triaged during a working group meeting.Async-await issues that have been triaged during a working group meeting.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.T-typesRelevant to the types team, which will review and decide on the PR/issue.Relevant to the types team, which will review and decide on the PR/issue.WG-asyncWorking group: Async & awaitWorking group: Async & awaitfixed-by-higher-ranked-assumptionsFixed by `-Zhigher-ranked-assumptions`Fixed by `-Zhigher-ranked-assumptions`metabugIssues about issues themselves ("bugs about bugs")Issues about issues themselves ("bugs about bugs")
Metadata
Metadata
Assignees
Labels
A-async-awaitArea: Async & AwaitArea: Async & AwaitA-auto-traitsArea: auto traits (e.g., `auto trait Send {}`)Area: auto traits (e.g., `auto trait Send {}`)A-coroutinesArea: CoroutinesArea: CoroutinesAsyncAwait-TriagedAsync-await issues that have been triaged during a working group meeting.Async-await issues that have been triaged during a working group meeting.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.T-typesRelevant to the types team, which will review and decide on the PR/issue.Relevant to the types team, which will review and decide on the PR/issue.WG-asyncWorking group: Async & awaitWorking group: Async & awaitfixed-by-higher-ranked-assumptionsFixed by `-Zhigher-ranked-assumptions`Fixed by `-Zhigher-ranked-assumptions`metabugIssues about issues themselves ("bugs about bugs")Issues about issues themselves ("bugs about bugs")
Type
Fields
Give feedbackNo fields configured for issues without a type.
Reported issues
T: Generator<ResumeTy>is not satisfied #79648implementation of Debug is not general enoughwhen making async block into&dyn Future + Send#87425<T as Foo<'a>>::Foo#92415Self: 'abounds break someasyncblocks withimpl Trait#92096higher-ranked lifetime errorin an async block #102211async move#110339FnOnceis not general enough" when demanding animpl Send#126551FnOnceis not general enough #89976.flatten()method that hasItem = &'a Twhen calling async function inside loop #126044async_closure: error: implementation ofAsyncFnOnceis not general enough #126350<whatever trait you want>is not general enough" with RPITIT + async #130113Cause
We erase lifetime relations of types inside generators, making it impossible in some cases to prove bounds or normalize associated types.
See #64552 (comment) for a more detailed explanation.
Implementation history
Notes
Please keep discussion in this thread at a "meta-level" and open new issues for code that does not compile.
These might not all have the same cause, though it seems plausible that they do. My primary motivation is to try to group all the related issues together so they're easier to keep track of. If we can split them into sub-groups, all the better.
Many of the issues in this list are cribbed from #92449, thanks to @compiler-errors for coming up with that list.