about summary refs log tree commit diff
path: root/src/test/ui/async-await/issues
AgeCommit message (Collapse)AuthorLines
2019-08-12revamp how we handle elision in async fnNiko Matsakis-0/+112
We now always make fresh lifetimne parameters for all elided lifetimes, whether they are in the inputs or outputs. But then we generate `'_` in the case of elided lifetimes from the outputs. Example: ```rust async fn foo<'a>(x: &'a u32) -> &u32 { .. } ``` becomes ```rust type Foo<'a, 'b> = impl Future<Output = &'b u32>; fn foo<'a>(x: &'a u32) -> Foo<'a, '_> ```
2019-08-07Rollup merge of #63034 - tmandry:reduce-generator-size-regressions, r=cramertjMazdak Farrokhzad-0/+15
Fix generator size regressions due to optimization I tested the generator optimizations in #60187 and #61922 on the Fuchsia build, and noticed that some small generators (about 8% of the async fns in our build) increased in size slightly. This is because in #60187 we split the fields into two groups, a "prefix" non-overlap region and an overlap region, and lay them out separately. This can introduce unnecessary padding bytes between the two groups. In every single case in the Fuchsia build, it was due to there being only a single variant being used in the overlap region. This means that we aren't doing any overlapping, period. So it's better to combine the two regions into one and lay out all the fields at once, which is what this change does. r? @cramertj cc @eddyb @Zoxc
2019-08-02Replace "existential" by "opaque"varkor-1/+1
2019-08-02Update syntax in existing testsvarkor-3/+4
2019-07-29Wrap promoted generator fields in MaybeUninitTyler Mandry-0/+15
This prevents uninhabited fields from "infecting" the abi and largest_niche of the generator layout. This fixes a latent bug, where an uninhabited field could be promoted to the generator prefix and cause the entire generator to become uninhabited.
2019-07-05Rollup merge of #62324 - Centril:reduce-await-macro-reliance, r=cramertjMazdak Farrokhzad-10/+10
Reduce reliance on `await!(...)` macro Only the last commit is new. r? @cramertj
2019-07-05Rollup merge of #62292 - Centril:split-async-closures, r=cramertjMazdak Farrokhzad-18/+27
Move `async || ...` closures into `#![feature(async_closure)]` The `async || expr` syntax is moved out from `#![feature(async_await)]` into its own gate `#![feature(async_closure)]`. New tracking issue: https://github.com/rust-lang/rust/issues/62290 Closes https://github.com/rust-lang/rust/issues/62214. cc https://github.com/rust-lang/rust/issues/62149 r? @varkor
2019-07-04Reduce reliance on feature(await_macro).Mazdak Farrokhzad-10/+10
2019-07-03Adjust tests wrt. 'async_closure' feature gate.Mazdak Farrokhzad-18/+27
2019-07-03Migrate compile-pass annotations to build-passYuki Okushi-9/+9
2019-06-27Rollup merge of #62155 - cramertj:61872, r=centrilMazdak Farrokhzad-0/+21
Add regression test for MIR drop generation in async loops Fixes #61986. r? @Centril
2019-06-26Add regression test for MIR drop generation in async loopsTaylor Cramer-0/+21
Fixes #61986.
2019-06-26Don't ICE on item in `.await` expressionNathan Corbyn-3/+72
2019-06-03rustc: async fn drop order lowering in HIRDavid Wood-0/+20
This commit re-implements the async fn drop order lowering changes so that it all takes place in HIR lowering, building atop the work done by `@eddyb` to refactor `Res::Upvar`. Previously, this types involved in the lowering were constructed in libsyntax as they had to be used during name resolution and HIR lowering. This was awful because none of that logic should have existed in libsyntax. This commit also changes `ArgSource` to keep a `HirId` to the original argument pattern rather than a cloned copy of the pattern.
2019-05-29Update ui test suite to use dynmemoryruins-2/+2
2019-05-24Add issues folder in async-awaitvarkor-0/+303