rust/src/test/ui/generator
bors 3d0774d0dc Auto merge of #86700 - lqd:matthews-nll-hrtb-errors, r=nikomatsakis
Matthew's work on improving NLL's "higher-ranked subtype error"s

This PR rebases `@matthewjasper's` [branch](https://github.com/matthewjasper/rust/tree/nll-hrtb-errors) which has great work to fix the obscure higher-ranked subtype errors that are tracked in #57374.

These are a blocker to turning full NLLs on, and doing some internal cleanups to remove some of the old region code.

The goal is so `@nikomatsakis` can take a look at this early, and I'll then do my best to help do the changes and followup work to land this work, and move closer to turning off the migration mode.

I've only updated the branch and made it compile, removed a warning or two.

r? `@nikomatsakis`

(Here's the [zulip topic to discuss this](https://rust-lang.zulipchat.com/#narrow/stream/122657-t-compiler.2Fwg-nll/topic/.2357374.3A.20improving.20higher-ranked.20subtype.20errors.20via.20.2386700) that Niko wanted)
2021-08-18 15:54:59 +00:00
..
auxiliary Encode optimized MIR of generators when emitting metadata 2021-01-14 00:00:00 +00:00
print Use note to point at bound introducing requirement 2021-08-16 17:47:22 +00:00
addassign-yield.rs tests: Move run-pass tests without naming conflicts to ui 2019-07-27 18:56:16 +03:00
async-generator-issue-67158.rs Do not ICE when encountering yield inside async block 2020-02-16 18:53:52 -08:00
async-generator-issue-67158.stderr Do not ICE when encountering yield inside async block 2020-02-16 18:53:52 -08:00
auto-trait-regions.nll.stderr Report nicer errors for HRTB NLL errors from queries 2021-08-15 09:11:01 +02:00
auto-trait-regions.rs Rename optin_builtin_traits to auto_traits 2020-11-23 14:14:06 -08:00
auto-trait-regions.stderr Keep existing names of regions in placeholder_error 2021-02-10 20:00:36 +00:00
borrow-in-tail-expr.rs tests: Move run-pass tests without naming conflicts to ui 2019-07-27 18:56:16 +03:00
borrowing.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
borrowing.stderr Make needs_drop less pessimistic on generators 2020-04-17 20:30:23 +02:00
conditional-drop.rs also run some generator tests without MIR optimizations 2020-04-28 08:22:08 +02:00
control-flow.rs also run some generator tests without MIR optimizations 2020-04-28 08:22:08 +02:00
discriminant.rs improve DiscriminantKind handling 2020-07-15 10:20:44 +02:00
drop-and-replace.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
drop-env.rs also run some generator tests without MIR optimizations 2020-04-28 08:22:08 +02:00
dropck-resume.rs Teach dropck about resume arguments 2020-02-02 13:20:58 +01:00
dropck-resume.stderr Teach dropck about resume arguments 2020-02-02 13:20:58 +01:00
dropck.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
dropck.stderr update tests for migrate mode by default 2019-04-22 08:40:08 +01:00
generator-region-requirements.migrate.stderr update tests for migrate mode by default 2019-04-22 08:40:08 +01:00
generator-region-requirements.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
generator-region-requirements.stderr Don't suggest adding 'static lifetime to arguments 2021-05-12 21:43:09 -04:00
generator-resume-after-panic.rs Skip tests on emscripten 2020-05-08 00:39:02 +09:00
generator-with-nll.rs Remove feature(nll) when compare mode is sufficient 2019-05-12 18:46:43 +01:00
generator-with-nll.stderr Remove feature(nll) when compare mode is sufficient 2019-05-12 18:46:43 +01:00
generator-yielding-or-returning-itself.rs Move stray generator test into the generator dir 2020-03-05 23:01:57 +01:00
generator-yielding-or-returning-itself.stderr Use note to point at bound introducing requirement 2021-08-16 17:47:22 +00:00
issue-44197.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
issue-45729-unsafe-in-generator.mir.stderr Check for raw pointer dereference in THIR unsafeck 2021-05-20 00:01:05 +02:00
issue-45729-unsafe-in-generator.rs Check for raw pointer dereference in THIR unsafeck 2021-05-20 00:01:05 +02:00
issue-45729-unsafe-in-generator.thir.stderr Replace more "NULL" with "null" 2021-05-24 12:59:33 +02:00
issue-48048.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-48048.stderr Update tests 2019-03-11 23:10:26 +03:00
issue-52398.rs Make closures and generators a must use types 2020-07-28 00:00:00 +00:00
issue-52398.stderr Make closures and generators a must use types 2020-07-28 00:00:00 +00:00
issue-53548-1.rs Use check-pass in ui tests where appropriate 2019-11-04 16:03:46 +01:00
issue-53548.rs Use check-pass in ui tests where appropriate 2019-11-04 16:03:46 +01:00
issue-57084.rs Make closures and generators a must use types 2020-07-28 00:00:00 +00:00
issue-57084.stderr Make closures and generators a must use types 2020-07-28 00:00:00 +00:00
issue-58888.rs Upgrade Emscripten targets to use upstream LLVM backend 2019-10-16 17:06:48 -07:00
issue-61442-stmt-expr-with-drop.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
issue-62506-two_awaits.rs Remove async_await gates from tests. 2019-08-20 03:08:42 +02:00
issue-64620-yield-array-element.rs Add test for issue-64620 2020-03-09 09:12:41 +09:00
issue-64620-yield-array-element.stderr Add test for issue-64620 2020-03-09 09:12:41 +09:00
issue-68112.rs pretty: trim paths of unique symbols 2020-09-02 22:26:37 +03:00
issue-68112.stderr Use note to point at bound introducing requirement 2021-08-16 17:47:22 +00:00
issue-69017.rs add main function to issue-69017 test 2020-02-10 13:47:52 -05:00
issue-69039.rs Move formatting to different function 2020-03-04 21:32:57 +01:00
iterator-count.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
layout-error.rs Make all tests use type_alias_impl_trait feature instead of min 2021-07-27 12:33:02 -03:00
layout-error.stderr Make all tests use type_alias_impl_trait feature instead of min 2021-07-27 12:33:02 -03:00
live-upvar-across-yield.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
match-bindings.rs Make closures and generators a must use types 2020-07-28 00:00:00 +00:00
match-bindings.stderr Make closures and generators a must use types 2020-07-28 00:00:00 +00:00
metadata-sufficient-for-layout.rs Make all tests use type_alias_impl_trait feature instead of min 2021-07-27 12:33:02 -03:00
metadata-sufficient-for-layout.stderr Make all tests use type_alias_impl_trait feature instead of min 2021-07-27 12:33:02 -03:00
nested_generators.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
niche-in-generator.rs move test that shouldn't be in test/run-pass/ 2019-08-14 18:04:33 +02:00
non-static-is-unpin.rs tests: Move run-pass tests without naming conflicts to ui 2019-07-27 18:56:16 +03:00
not-send-sync.rs Use "generator" instead of "future" when appropriate 2020-04-13 18:48:55 -07:00
not-send-sync.stderr Use note to point at bound introducing requirement 2021-08-16 17:47:22 +00:00
overlap-locals.rs tests: Move run-pass tests without naming conflicts to ui 2019-07-27 18:56:16 +03:00
panic-drops-resume.rs Ignore panic-drops-resume.rs on wasm/emscripten 2020-02-06 15:00:36 +01:00
panic-drops.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
panic-safe.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
partial-initialization-across-yield.rs Fixed grammar/style in error messages and reblessed tests. 2019-09-06 03:46:08 +01:00
partial-initialization-across-yield.stderr Fixed grammar/style in error messages and reblessed tests. 2019-09-06 03:46:08 +01:00
pattern-borrow.rs Remove licenses 2018-12-25 21:08:33 -07:00
pattern-borrow.stderr Update tests 2019-03-11 23:10:26 +03:00
pin-box-generator.rs tests: Move run-pass tests without naming conflicts to ui 2019-07-27 18:56:16 +03:00
reborrow-mut-upvar.rs Make closures and generators a must use types 2020-07-28 00:00:00 +00:00
reborrow-mut-upvar.stderr Make closures and generators a must use types 2020-07-28 00:00:00 +00:00
ref-escapes-but-not-over-yield.rs update tests for migrate mode by default 2019-04-22 08:40:08 +01:00
ref-escapes-but-not-over-yield.stderr Update ui tests 2021-02-01 18:23:12 +01:00
resume-after-return.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
resume-arg-late-bound.nll.stderr Report nicer errors for HRTB NLL errors from queries 2021-08-15 09:11:01 +02:00
resume-arg-late-bound.rs move leak-check to during coherence, candidate eval 2020-06-22 15:33:05 +00:00
resume-arg-late-bound.stderr Provide more information for HRTB lifetime errors involving closures 2021-01-12 13:53:13 -08:00
resume-arg-size.rs Fix incorrect comment in generator test 2020-05-27 21:38:38 +02:00
resume-live-across-yield.rs Fix miscompilation 2020-02-03 14:08:57 +01:00
retain-resume-ref.rs Add tests for generator resume arguments 2020-02-02 13:20:57 +01:00
retain-resume-ref.stderr Make needs_drop less pessimistic on generators 2020-04-17 20:30:23 +02:00
size-moved-locals.rs Revert #71956 2020-06-08 14:58:37 -07:00
sized-yield.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
sized-yield.stderr Use note to point at bound introducing requirement 2021-08-16 17:47:22 +00:00
smoke-resume-args.rs also run some generator tests without MIR optimizations 2020-04-28 08:22:08 +02:00
smoke.rs also run some generator tests without MIR optimizations 2020-04-28 08:22:08 +02:00
static-generators.rs Capitalize safety comments 2020-09-08 22:37:18 -04:00
static-mut-reference-across-yield.rs Test THIR unsafeck for unsafe ops in closures 2021-05-27 21:04:44 +02:00
static-not-unpin.rs Account for Pin::new(_) and Pin::new(Box::new(_)) when Box::pin(_) would be applicable 2020-02-12 15:13:05 -08:00
static-not-unpin.stderr Use note to point at bound introducing requirement 2021-08-16 17:47:22 +00:00
static-reference-across-yield.rs Record temporary static references in generator witnesses 2019-11-26 23:18:41 +00:00
too-live-local-in-immovable-gen.rs Lint for unused borrows as part of UNUSED_MUST_USE 2021-06-18 15:09:40 +08:00
too-live-local-in-immovable-gen.stderr Lint for unused borrows as part of UNUSED_MUST_USE 2021-06-18 15:09:40 +08:00
too-many-parameters.rs Update error message with too many parameters 2020-02-04 13:35:38 +01:00
too-many-parameters.stderr Add long error explanation for E0628 #61137 2020-03-10 02:04:48 +05:30
type-mismatch-error.rs Fix error message on type mismatch in generator 2020-02-02 13:20:57 +01:00
type-mismatch-error.stderr Fix error message on type mismatch in generator 2020-02-02 13:20:57 +01:00
type-mismatch-signature-deduction.rs Adjust tests to type inference changes 2020-02-02 13:20:57 +01:00
type-mismatch-signature-deduction.stderr fix expected/found order on impl trait projection mismatch 2021-03-16 16:55:11 +00:00
xcrate-reachable.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
xcrate.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
yield-in-args-rev.rs Make closures and generators a must use types 2020-07-28 00:00:00 +00:00
yield-in-args-rev.stderr Make closures and generators a must use types 2020-07-28 00:00:00 +00:00
yield-in-args.rs Remove licenses 2018-12-25 21:08:33 -07:00
yield-in-args.stderr update tests for migrate mode by default 2019-04-22 08:40:08 +01:00
yield-in-box.rs Make closures and generators a must use types 2020-07-28 00:00:00 +00:00
yield-in-box.stderr Make closures and generators a must use types 2020-07-28 00:00:00 +00:00
yield-in-const.rs Yield is an expression form, not a statement. 2019-12-23 21:07:13 +08:00
yield-in-const.stderr Yield is an expression form, not a statement. 2019-12-23 21:07:13 +08:00
yield-in-function.rs Yield is an expression form, not a statement. 2019-12-23 21:07:13 +08:00
yield-in-function.stderr Yield is an expression form, not a statement. 2019-12-23 21:07:13 +08:00
yield-in-initializer.rs Lint for unused borrows as part of UNUSED_MUST_USE 2021-06-18 15:09:40 +08:00
yield-in-initializer.stderr Make closures and generators a must use types 2020-07-28 00:00:00 +00:00
yield-in-static.rs Yield is an expression form, not a statement. 2019-12-23 21:07:13 +08:00
yield-in-static.stderr Yield is an expression form, not a statement. 2019-12-23 21:07:13 +08:00
yield-outside-generator-issue-78653.rs Do not ICE when evaluating locals' types of invalid yield 2021-02-17 20:44:00 -08:00
yield-outside-generator-issue-78653.stderr Various diagnostics clean ups/tweaks 2021-07-19 08:43:35 -07:00
yield-subtype.rs Make closures and generators a must use types 2020-07-28 00:00:00 +00:00
yield-subtype.stderr Make closures and generators a must use types 2020-07-28 00:00:00 +00:00
yield-while-iterating.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
yield-while-iterating.stderr Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
yield-while-local-borrowed.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
yield-while-local-borrowed.stderr Update tests 2019-05-03 03:11:37 -04:00
yield-while-ref-reborrowed.rs Add a resume type parameter to Generator 2020-02-02 13:20:57 +01:00
yield-while-ref-reborrowed.stderr Closure capture borrow diagnostics for disjoint captures 2021-05-01 19:01:05 -04:00
yielding-in-match-guards.rs Add a few basic tests for if-let guards 2020-12-06 13:43:21 +01:00