rust/tests/ui/async-await
bors 7b4d9e155f Auto merge of #115659 - compiler-errors:itp, r=cjgillot
Stabilize `impl_trait_projections`

Closes #115659

## TL;DR:

This allows us to mention `Self` and `T::Assoc` in async fn and return-position `impl Trait`, as you would expect you'd be able to.

Some examples:
```rust
#![feature(return_position_impl_trait_in_trait, async_fn_in_trait)]
// (just needed for final tests below)

// ---------------------------------------- //

struct Wrapper<'a, T>(&'a T);

impl Wrapper<'_, ()> {
    async fn async_fn() -> Self {
        //^ Previously rejected because it returns `-> Self`, not `-> Wrapper<'_, ()>`.
        Wrapper(&())
    }

    fn impl_trait() -> impl Iterator<Item = Self> {
        //^ Previously rejected because it mentions `Self`, not `Wrapper<'_, ()>`.
        std::iter::once(Wrapper(&()))
    }
}

// ---------------------------------------- //

trait Trait<'a> {
    type Assoc;
    fn new() -> Self::Assoc;
}
impl Trait<'_> for () {
    type Assoc = ();
    fn new() {}
}

impl<'a, T: Trait<'a>> Wrapper<'a, T> {
    async fn mk_assoc() -> T::Assoc {
        //^ Previously rejected because `T::Assoc` doesn't mention `'a` in the HIR,
        //  but ends up resolving to `<T as Trait<'a>>::Assoc`, which does rely on `'a`.
        // That's the important part -- the elided trait.
        T::new()
    }

    fn a_few_assocs() -> impl Iterator<Item = T::Assoc> {
        //^ Previously rejected for the same reason
        [T::new(), T::new(), T::new()].into_iter()
    }
}

// ---------------------------------------- //

trait InTrait {
    async fn async_fn() -> Self;

    fn impl_trait() -> impl Iterator<Item = Self>;
}

impl InTrait for &() {
    async fn async_fn() -> Self { &() }
    //^ Previously rejected just like inherent impls

    fn impl_trait() -> impl Iterator<Item = Self> {
        //^ Previously rejected just like inherent impls
        [&()].into_iter()
    }
}
```

## Technical:

Lifetimes in return-position `impl Trait` (and `async fn`) are duplicated as early-bound generics local to the opaque in order to make sure we are able to substitute any late-bound lifetimes from the function in the opaque's hidden type. (The [dev guide](https://rustc-dev-guide.rust-lang.org/return-position-impl-trait-in-trait.html#aside-opaque-lifetime-duplication) has a small section about why this is necessary -- this was written for RPITITs, but it applies to all RPITs)

Prior to #103491, all of the early-bound lifetimes not local to the opaque were replaced with `'static` to avoid issues where relating opaques caused their *non-captured* lifetimes to be related. This `'static` replacement led to strange and possibly unsound behaviors (https://github.com/rust-lang/rust/issues/61949#issuecomment-508836314) (https://github.com/rust-lang/rust/issues/53613) when referencing the `Self` type alias in an impl or indirectly referencing a lifetime parameter via a projection type (via a `T::Assoc` projection without an explicit trait), since lifetime resolution is performed on the HIR, when neither `T::Assoc`-style projections or `Self` in impls are expanded.

Therefore an error was implemented in #62849 to deny this subtle behavior as a known limitation of the compiler. It was attempted by `@cjgillot` to fix this in #91403, which was subsequently unlanded. Then it was re-attempted to much success (🎉) in #103491, which is where we currently are in the compiler.

The PR above (#103491) fixed this issue technically by *not* replacing the opaque's parent lifetimes with `'static`, but instead using variance to properly track which lifetimes are captured and are not. The PR gated any of the "side-effects" of the PR behind a feature gate (`impl_trait_projections`) presumably to avoid having to involve T-lang or T-types in the PR as well. `@cjgillot` can clarify this if I'm misunderstanding what their intention was with the feature gate.

Since we're not replacing (possibly *invariant*!) lifetimes with `'static` anymore, there are no more soundness concerns here. Therefore, this PR removes the feature gate.

Tests:
* `tests/ui/async-await/feature-self-return-type.rs`
* `tests/ui/impl-trait/feature-self-return-type.rs`
* `tests/ui/async-await/issues/issue-78600.rs`
* `tests/ui/impl-trait/capture-lifetime-not-in-hir.rs`

---

r? cjgillot on the impl (not much, just removing the feature gate)

I'm gonna mark this as FCP for T-lang and T-types.
2023-09-28 21:35:18 +00:00
..
auxiliary Add test 2023-01-19 15:46:08 +00:00
await-keyword blessed the tests 2023-08-08 10:51:35 +08:00
drop-order Move /src/test to /tests 2023-01-11 09:32:08 +00:00
future-sizes adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
in-trait Auto merge of #115659 - compiler-errors:itp, r=cjgillot 2023-09-28 21:35:18 +00:00
issues Auto merge of #115659 - compiler-errors:itp, r=cjgillot 2023-09-28 21:35:18 +00:00
multiple-lifetimes Adjust tests for new drop and forget lints 2023-05-10 19:36:02 +02:00
return-type-notation Bless tests. 2023-09-23 13:47:30 +00:00
track-caller Add separate feature gate for async fn track caller 2023-08-02 14:18:21 -07:00
argument-patterns.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-assoc-fn-anon-lifetimes.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-await-let-else.rs Revert duplication of tests. 2023-09-23 13:34:07 +00:00
async-await-let-else.stderr Bless tests. 2023-09-23 13:47:30 +00:00
async-await.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-block-control-flow-static-semantics.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-block-control-flow-static-semantics.stderr adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
async-borrowck-escaping-block-error.fixed Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-borrowck-escaping-block-error.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-borrowck-escaping-block-error.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-borrowck-escaping-closure-error.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-borrowck-escaping-closure-error.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-closure-matches-expr.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-closure.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-error-span.rs Bless tests. 2023-09-23 13:47:30 +00:00
async-error-span.stderr Bless tests. 2023-09-23 13:47:30 +00:00
async-fn-elided-impl-lifetime-parameter.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-fn-nonsend.rs Bless tests. 2023-09-23 13:47:30 +00:00
async-fn-nonsend.stderr Bless tests. 2023-09-23 13:47:30 +00:00
async-fn-path-elision.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-fn-path-elision.stderr Introduce `ReError` 2023-02-09 10:26:49 +00:00
async-fn-send-uses-nonsend.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-fn-size-moved-locals.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-fn-size-uninit-locals.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-fn-size.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-is-unwindsafe.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-is-unwindsafe.stderr Bless tests. 2023-09-23 13:47:30 +00:00
async-matches-expr.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-trait-fn.current.stderr Add revisions for -Zlower-impl-trait-in-trait-to-assoc-ty fixed tests 2023-03-17 16:01:53 -03:00
async-trait-fn.next.stderr Add revisions for -Zlower-impl-trait-in-trait-to-assoc-ty fixed tests 2023-03-17 16:01:53 -03:00
async-trait-fn.rs Add revisions for -Zlower-impl-trait-in-trait-to-assoc-ty fixed tests 2023-03-17 16:01:53 -03:00
async-trait-fn.stderr Add revisions for -Zlower-impl-trait-in-trait-to-assoc-ty fixed tests 2023-03-17 16:01:53 -03:00
async-unsafe-fn-call-in-safe.mir.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-unsafe-fn-call-in-safe.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-unsafe-fn-call-in-safe.thir.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
async-with-closure.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
await-into-future.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
await-sequence.rs Bless tests. 2023-09-23 13:47:30 +00:00
await-unsize.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
awaiting-unsized-param.rs Revert duplication of tests. 2023-09-23 13:34:07 +00:00
awaiting-unsized-param.stderr Revert duplication of tests. 2023-09-23 13:34:07 +00:00
bound-normalization.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
clone-suggestion.fixed Tweak await span 2023-04-27 17:18:11 +00:00
clone-suggestion.rs Tweak await span 2023-04-27 17:18:11 +00:00
clone-suggestion.stderr Don't use method span on clone suggestion 2023-07-10 20:09:28 +00:00
conditional-and-guaranteed-initialization.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
const-async-fn-in-main.rs add test 2023-09-26 20:15:28 +00:00
const-async-fn-in-main.stderr add test 2023-09-26 20:15:28 +00:00
deep-futures-are-freeze.rs Normalize before checking if local is freeze in deduced_param_attrs 2023-08-17 14:33:24 -07:00
default-struct-update.rs Bless tests. 2023-09-23 13:47:30 +00:00
dont-print-desugared-async.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
dont-print-desugared-async.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
dont-suggest-await-on-method-return-mismatch.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
dont-suggest-await-on-method-return-mismatch.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
dont-suggest-missing-await.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
dont-suggest-missing-await.stderr fix: improve the suggestion on future not awaited 2023-02-13 16:23:23 +01:00
drop-and-assign.rs Bless tests. 2023-09-23 13:47:30 +00:00
drop-track-bad-field-in-fru.rs Bless tests. 2023-09-23 13:47:30 +00:00
drop-track-bad-field-in-fru.stderr Bless tests. 2023-09-23 13:47:30 +00:00
drop-track-field-assign-nonsend.rs Bless tests. 2023-09-23 13:47:30 +00:00
drop-track-field-assign-nonsend.stderr Bless tests. 2023-09-23 13:47:30 +00:00
drop-track-field-assign.rs Bless tests. 2023-09-23 13:47:30 +00:00
drop-tracking-unresolved-typeck-results.rs Bless tests. 2023-09-23 13:47:30 +00:00
drop-tracking-unresolved-typeck-results.stderr Bless tests. 2023-09-23 13:47:30 +00:00
edition-deny-async-fns-2015.current.stderr Add revisions for -Zlower-impl-trait-in-trait-to-assoc-ty fixed tests 2023-03-17 16:01:53 -03:00
edition-deny-async-fns-2015.next.stderr Add revisions for -Zlower-impl-trait-in-trait-to-assoc-ty fixed tests 2023-03-17 16:01:53 -03:00
edition-deny-async-fns-2015.rs Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
edition-deny-async-fns-2015.stderr Replace RPITIT current impl with new strategy that lowers as a GAT 2023-07-08 18:21:34 -03:00
expansion-in-attrs.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
feature-async-closure.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
feature-async-closure.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
feature-gate-async_fn_in_trait.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
feature-gate-async_fn_in_trait.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
feature-self-return-type.rs Stabilize impl_trait_projections 2023-09-08 03:45:36 +00:00
feature-self-return-type.stderr Stabilize impl_trait_projections 2023-09-08 03:45:36 +00:00
field-assign-nonsend.rs Revert duplication of tests. 2023-09-23 13:34:07 +00:00
field-assign-nonsend.stderr Bless tests. 2023-09-23 13:47:30 +00:00
field-assign.rs Revert duplication of tests. 2023-09-23 13:34:07 +00:00
future-contains-err-issue-115188.rs More precisely detect cycle errors from type_of on opaque 2023-08-27 22:03:16 +00:00
future-contains-err-issue-115188.stderr More precisely detect cycle errors from type_of on opaque 2023-08-27 22:03:16 +00:00
futures-api.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generator-desc.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generator-desc.stderr adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
generator-not-future.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
generator-not-future.stderr adjust how closure/generator types and rvalues are printed 2023-09-21 22:20:58 +02:00
generics-and-bounds.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
incorrect-move-async-order-issue-79694.fixed Move /src/test to /tests 2023-01-11 09:32:08 +00:00
incorrect-move-async-order-issue-79694.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
incorrect-move-async-order-issue-79694.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
interior-with-const-generic-expr.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-54239-private-type-triggers-lint.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-60709.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-61076.rs fix: improve the suggestion on future not awaited 2023-02-13 16:23:23 +01:00
issue-61076.stderr fix: improve the suggestion on future not awaited 2023-02-13 16:23:23 +01:00
issue-61452.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-61452.stderr Do not set up wrong span for adjustments 2023-07-10 20:09:26 +00:00
issue-61793.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-62658.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-63832-await-short-temporary-lifetime-1.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-63832-await-short-temporary-lifetime.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-64130-1-sync.rs Bless tests. 2023-09-23 13:47:30 +00:00
issue-64130-1-sync.stderr Bless tests. 2023-09-23 13:47:30 +00:00
issue-64130-2-send.rs Bless tests. 2023-09-23 13:47:30 +00:00
issue-64130-2-send.stderr Bless tests. 2023-09-23 13:47:30 +00:00
issue-64130-3-other.rs Bless tests. 2023-09-23 13:47:30 +00:00
issue-64130-3-other.stderr Bless tests. 2023-09-23 13:47:30 +00:00
issue-64130-4-async-move.rs Bless tests. 2023-09-23 13:47:30 +00:00
issue-64130-non-send-future-diags.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-64130-non-send-future-diags.stderr Bless tests. 2023-09-23 13:47:30 +00:00
issue-64391.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-66312.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-66312.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-66387-if-without-else.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-66387-if-without-else.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-67252-unnamed-future.rs Bless tests. 2023-09-23 13:47:30 +00:00
issue-67252-unnamed-future.stderr Bless tests. 2023-09-23 13:47:30 +00:00
issue-67651.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-67651.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-67765-async-diagnostic.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-67765-async-diagnostic.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-68112.rs Bless tests. 2023-09-23 13:47:30 +00:00
issue-68112.stderr Bless tests. 2023-09-23 13:47:30 +00:00
issue-68523-start.rs Change `start` to `#[start]` in some diagnosis 2023-09-22 15:58:43 +02:00
issue-68523-start.stderr Change `start` to `#[start]` in some diagnosis 2023-09-22 15:58:43 +02:00
issue-68523.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-68523.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-69446-fnmut-capture.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-69446-fnmut-capture.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-70594.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-70594.stderr Tweak await span 2023-04-27 17:18:11 +00:00
issue-70818.rs Revert duplication of tests. 2023-09-23 13:34:07 +00:00
issue-70818.stderr Revert duplication of tests. 2023-09-23 13:34:07 +00:00
issue-70935-complex-spans.rs Bless tests. 2023-09-23 13:47:30 +00:00
issue-70935-complex-spans.stderr Bless tests. 2023-09-23 13:47:30 +00:00
issue-71137.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-71137.stderr Bless tests. 2023-09-23 13:47:30 +00:00
issue-72442.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-72442.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-72470-llvm-dominate.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-72590-type-error-sized.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-72590-type-error-sized.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-73050.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-73137.rs Revert duplication of tests. 2023-09-23 13:34:07 +00:00
issue-73541-1.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-73541-1.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-73541-2.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-73541-2.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-73541-3.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-73541-3.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-73541.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-73541.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-73741-type-err.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-73741-type-err.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-74047.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-74047.stderr Make missing impl item suggestions more obvious that they're missing 2023-04-19 17:57:37 +00:00
issue-74072-lifetime-name-annotations.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-74072-lifetime-name-annotations.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
issue-74497-lifetime-in-opaque.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-74497-lifetime-in-opaque.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-75785-confusing-named-region.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-75785-confusing-named-region.stderr Tweak E0597 2023-01-15 19:46:20 +00:00
issue-76547.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-76547.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-77993-2.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-77993-2.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-78115.rs Move tests 2023-05-24 19:35:59 -03:00
issue-84841.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-84841.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-86507.rs Revert duplication of tests. 2023-09-23 13:34:07 +00:00
issue-86507.stderr Revert duplication of tests. 2023-09-23 13:34:07 +00:00
issue-93197.rs Bless tests. 2023-09-23 13:47:30 +00:00
issue-93648.rs Bless tests. 2023-09-23 13:47:30 +00:00
issue-98634.rs Tweak E0271 wording 2023-01-30 21:51:35 +00:00
issue-98634.stderr Tweak await span 2023-04-27 17:18:11 +00:00
issue-101715.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-101715.stderr tweak removal span 2023-04-27 17:18:12 +00:00
issue-105501.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
issue-107036.rs Add test 2023-01-19 15:46:08 +00:00
issue-108572.rs feat: impl better help for `.poll()` not found on `impl Future` 2023-03-05 09:34:00 +13:00
issue-108572.stderr feat: impl better help for `.poll()` not found on `impl Future` 2023-03-05 09:34:00 +13:00
missed-capture-issue-107414.rs Add more if let guard tests 2023-09-19 12:48:40 +00:00
move-part-await-return-rest-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
move-part-await-return-rest-tuple.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
mutually-recursive-async-impl-trait-type.rs Revert duplication of tests. 2023-09-23 13:34:07 +00:00
mutually-recursive-async-impl-trait-type.stderr Revert duplication of tests. 2023-09-23 13:34:07 +00:00
nested-in-impl.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
no-async-const.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
no-async-const.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
no-const-async.rs Remove `identity_future` indirection 2023-03-08 15:37:14 +01:00
no-const-async.stderr Remove `identity_future` indirection 2023-03-08 15:37:14 +01:00
no-move-across-await-struct.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
no-move-across-await-struct.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
no-move-across-await-tuple.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
no-move-across-await-tuple.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
no-non-guaranteed-initialization.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
no-non-guaranteed-initialization.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
no-params-non-move-async-closure.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
no-params-non-move-async-closure.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
no-std.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
no-unsafe-async.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
no-unsafe-async.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
non-trivial-drop.rs Bless tests. 2023-09-23 13:47:30 +00:00
normalize-output-in-signature-deduction.rs Normalize return type of deduce_future_output_from_obligations 2023-08-16 14:28:19 -07:00
partial-drop-partial-reinit.rs Revert duplication of tests. 2023-09-23 13:34:07 +00:00
partial-drop-partial-reinit.stderr Bless tests. 2023-09-23 13:47:30 +00:00
partial-initialization-across-await.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
partial-initialization-across-await.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
pin-needed-to-poll-2.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
pin-needed-to-poll-2.stderr Added diagnostic for pin! macro in addition to Box::pin if Unpin isn't implemented 2023-04-12 18:03:11 -04:00
pin-needed-to-poll.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
pin-needed-to-poll.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
proper-span-for-type-error.fixed Move /src/test to /tests 2023-01-11 09:32:08 +00:00
proper-span-for-type-error.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
proper-span-for-type-error.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
recursive-async-impl-trait-type.rs Revert duplication of tests. 2023-09-23 13:34:07 +00:00
recursive-async-impl-trait-type.stderr Revert duplication of tests. 2023-09-23 13:34:07 +00:00
repeat_count_const_in_async_fn.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
return-ty-raw-ptr-coercion.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
return-ty-unsize-coercion.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
send-bound-async-closure.rs Bless tests. 2023-01-27 20:10:17 +00:00
suggest-missing-await-closure.fixed Move /src/test to /tests 2023-01-11 09:32:08 +00:00
suggest-missing-await-closure.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
suggest-missing-await-closure.stderr fix: improve the suggestion on future not awaited 2023-02-13 16:23:23 +01:00
suggest-missing-await.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
suggest-missing-await.stderr fix: improve the suggestion on future not awaited 2023-02-13 16:23:23 +01:00
suggest-switching-edition-on-await-cargo.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
suggest-switching-edition-on-await-cargo.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
suggest-switching-edition-on-await.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
suggest-switching-edition-on-await.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
task-context-arg.rs Preserve argument indexes when inlining MIR 2023-04-11 11:07:48 +10:00
try-on-option-in-async.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
try-on-option-in-async.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
type-parameter-send.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
unnecessary-await.rs Make async removal span more resilient to macro expansions 2023-04-27 18:25:07 +00:00
unnecessary-await.stderr Make async removal span more resilient to macro expansions 2023-04-27 18:25:07 +00:00
unreachable-lint-1.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
unreachable-lint-1.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00
unreachable-lint.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
unresolved_type_param.rs Bless tests. 2023-09-23 13:47:30 +00:00
unresolved_type_param.stderr Bless tests. 2023-09-23 13:47:30 +00:00
unsized-across-await.rs Revert duplication of tests. 2023-09-23 13:34:07 +00:00
unsized-across-await.stderr Revert duplication of tests. 2023-09-23 13:34:07 +00:00
unused-lifetime.rs Move /src/test to /tests 2023-01-11 09:32:08 +00:00
unused-lifetime.stderr Move /src/test to /tests 2023-01-11 09:32:08 +00:00