about summary refs log tree commit diff
path: root/src/test/ui/async-await/issues
AgeCommit message (Collapse)AuthorLines
2023-01-11Move /src/test to /testsAlbert Larsan-1405/+0
2023-01-01Verbose suggestionsEsteban Küber-2/+5
2022-12-20Add regression test for #102206Yuki Okushi-0/+31
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-12-13Use a label instead of a note for the drop site to create denser diagnosticsOli Scherer-14/+6
2022-12-13Make some diagnostics not depend on the source of what they reference being ↵Oli Scherer-5/+0
available
2022-11-26Pretty-print generators with their `generator_kind`Arpad Borsos-1/+1
After removing `GenFuture`, I special-cased async generators to pretty-print as `impl Future<Output = X>` mainly to avoid too much diagnostics changes originally. This now reverses that change so that async fn/blocks are pretty-printed as `[$movability `async` $something@$source-position]` in various diagnostics, and updates the tests that this touches.
2022-11-24Avoid `GenFuture` shim when compiling async constructsArpad Borsos-2/+2
Previously, async constructs would be lowered to "normal" generators, with an additional `from_generator` / `GenFuture` shim in between to convert from `Generator` to `Future`. The compiler will now special-case these generators internally so that async constructs will *directly* implement `Future` without the need to go through the `from_generator` / `GenFuture` shim. The primary motivation for this change was hiding this implementation detail in stack traces and debuginfo, but it can in theory also help the optimizer as there is less abstractions to see through.
2022-11-12Make impl_trait_projections a feature gate.Camille GILLOT-2/+5
2022-11-11Visit opaque types during type collection too.Camille GILLOT-15/+2
2022-10-27Revert "Make ClosureOutlivesRequirement not rely on an unresolved type"Michael Goulet-7/+6
This reverts commit a6b5f95fb028f9feb4a2957c06b35035be2c6155.
2022-10-19Make ClosureOutlivesRequirement not rely on an unresolved typeMichael Goulet-6/+7
2022-09-23Rollup merge of #102134 - flba-eb:master, r=bjorn3Matthias Krüger-1/+0
Detect panic strategy using `rustc --print cfg` Instead of relying on a command line parameter, detect if a target is able to unwind or not. Ignore tests that require unwinding on targets that don't support it. I did not find any place where the removed parameter has been used, but it feels a bit risky as I'm new to this test framework. r? bjorn3
2022-09-23Restore ignore tagFlorian Bartels-1/+0
This test case actually requires std::process.
2022-09-21Split out async_fn_in_trait into a separate featureDan Johnson-1/+1
PR #101224 added support for async fn in trait desuraging behind the return_position_impl_trait_in_trait feature. Split this out so that it's behind its own feature gate, since async fn in trait doesn't need to follow the same stabilization schedule.
2022-09-13Update issue-65436-raw-ptr-not-send.rsEric Holk-6/+10
2022-09-12Impove diagnostic for .await-ing non-futuresLukas Markeffsky-6/+4
2022-09-09Bless tests, fix ICE with ImplTraitPlaceholderMichael Goulet-0/+2
2022-08-29Make the trait bound is not satisfied specify kindObei Sideg-1/+1
2022-08-21Rework point-at-argMichael Goulet-3/+7
2022-08-18Reword "Required because of the requirements on the impl of ..."Andy Wang-1/+1
2022-08-16suggest adding an array length if possibleTakayuki Maeda-6/+6
2022-07-25Report elision failures on the AST.Camille GILLOT-3/+17
2022-07-07Shorten span for closures.Camille GILLOT-5/+5
2022-06-29Make RPIT and TAIT work exactly the sameOli Scherer-2/+15
2022-06-16diagnostics: fix trailing spaceklensy-2/+2
2022-06-08Add regresion test for #95307Yuki Okushi-0/+43
2022-06-03Fully stabilize NLLJack Huey-89/+14
2022-05-29Make lifetime errors more precise in the presence of `Fresh` lifetimes.Camille GILLOT-13/+10
2022-05-25bless existing test with compare-mode=nll and remove testb-naber-7/+6
2022-05-22Use revisions for NLL in async-awaitJack Huey-20/+52
2022-04-16Provide a better diagnostic on failure to meet send bound on futures in a ↵oribenshir-3/+15
foreign crate Adding diagnostic data on generators to the crate metadata and using it to provide a better diagnostic on failure to meet send bound on futures originated from a foreign crate
2022-04-04diagnostics: use correct span for const genericsMichael Howell-4/+4
Fixes #95616
2022-03-30Restore `impl Future<Output = Type>` to async blocksMichael Goulet-1/+1
2022-03-22remove [async output] from impl FutureMichael Goulet-1/+1
2022-02-17Revert "Auto merge of #91403 - cjgillot:inherit-async, r=oli-obk"Oli Scherer-4/+17
This reverts commit 3cfa4def7c87d571bd46d92fed608edf8fad236e, reversing changes made to 5d8767cb229b097fedb1dd4bd9420d463c37774f.
2022-02-12Inherit lifetimes for async fn instead of duplicating them.Camille GILLOT-17/+4
2022-01-19Simplify error reporting code, remove await point wordingTyler Mandry-4/+2
2022-01-19NiceRegionError: Use written return type for async fnTyler Mandry-1/+1
2021-12-13review comment: change wording of suggestionEsteban Kuber-1/+1
2021-12-13review commentsEsteban Kuber-3/+7
2021-12-13Fix rebase and clippy testsEsteban Kuber-26/+16
2021-12-13When `.await` is called on a non-`Future` expression, suggest removalEsteban Kuber-33/+41
Keep track of the origin of a `T: Future` obligation when caused by an `.await` expression. Address #66731.
2021-12-11Rollup merge of #89734 - estebank:issue-72312, r=nikomatsakisMatthias Krüger-5/+71
Point at capture points for non-`'static` reference crossing a `yield` point ``` error[E0759]: `self` has an anonymous lifetime `'_` but it needs to satisfy a `'static` lifetime requirement --> $DIR/issue-72312.rs:10:24 | LL | pub async fn start(&self) { | ^^^^^ this data with an anonymous lifetime `'_`... ... LL | require_static(async move { | -------------- ...is required to live as long as `'static` here... LL | &self; | ----- ...and is captured here | note: `'static` lifetime requirement introduced by this trait bound --> $DIR/issue-72312.rs:2:22 | LL | fn require_static<T: 'static>(val: T) -> T { | ^^^^^^^ error: aborting due to previous error For more information about this error, try `rustc --explain E0759`. ``` Fix #72312.
2021-12-10Tweak wordingEsteban Kuber-3/+3
2021-12-10rebase and update nll testEsteban Kuber-2/+8
2021-12-10Update nll testEsteban Kuber-0/+15
2021-12-10Add filtering based on involved required lifetimeEsteban Kuber-6/+1
More accurate filtering still needed.
2021-12-10Clean up visual output logicEsteban Kuber-11/+14
2021-12-10Point at capture points for non-`'static` reference crossing a `yield` pointEsteban Kuber-5/+52
``` error[E0759]: `self` has an anonymous lifetime `'_` but it needs to satisfy a `'static` lifetime requirement --> $DIR/issue-72312.rs:10:24 | LL | pub async fn start(&self) { | ^^^^^ this data with an anonymous lifetime `'_`... ... LL | require_static(async move { | -------------- ...is required to live as long as `'static` here... LL | &self; | ----- ...and is captured here | note: `'static` lifetime requirement introduced by this trait bound --> $DIR/issue-72312.rs:2:22 | LL | fn require_static<T: 'static>(val: T) -> T { | ^^^^^^^ error: aborting due to previous error For more information about this error, try `rustc --explain E0759`. ``` Fix #72312.
2021-12-09Add needs-unwind to tests that depend on panickingDavid Koloski-0/+1
This directive isn't automatically set by compiletest or x.py, but can be turned on manually for targets that require it.