rust/src/test/ui/nll
bors 0b1669d96c Auto merge of #57714 - matthewjasper:wellformed-unreachable, r=pnkfelix
[NLL] Clean up handling of type annotations

* Renames (Canonical)?UserTypeAnnotation -> (Canonical)?UserType so that the name CanonicalUserTypeAnnotation is free.
* Keep the inferred type associated to user type annotations in the MIR, so that it can be compared against the annotated type, even when the annotated expression gets removed from the MIR. (#54943)
* Use the inferred type to allow infallible handling of user type projections (#57531)
* Uses revisions for the tests in #56993
* Check the types of `Unevaluated` constants with no annotations (#46702)
* Some drive-by cleanup

Closes #46702
Closes #54943
Closes #57531
Closes #57731
cc #56993 leaving this open to track the underlying issue: we are not running tests with full NLL enabled on CI at the moment

r? @nikomatsakis
2019-01-25 14:25:37 +00:00
..
closure-requirements Update tests 2019-01-17 20:39:06 -06:00
relate_tys Remove licenses 2018-12-25 21:08:33 -07:00
ty-outlives Handle lifetime annotations in unreachable code 2019-01-19 16:30:45 +00:00
user-annotations Don't ignore _ in type casts and ascriptions 2019-01-19 19:33:41 +00:00
borrow-use-issue-46875.rs Remove licenses 2018-12-25 21:08:33 -07:00
borrowck-thread-local-static-mut-borrow-outlives-fn.rs Remove licenses 2018-12-25 21:08:33 -07:00
borrowed-local-error.rs Remove licenses 2018-12-25 21:08:33 -07:00
borrowed-local-error.stderr Remove licenses 2018-12-25 21:08:33 -07:00
borrowed-match-issue-45045.rs Remove licenses 2018-12-25 21:08:33 -07:00
borrowed-match-issue-45045.stderr Remove licenses 2018-12-25 21:08:33 -07:00
borrowed-referent-issue-38899.rs Remove licenses 2018-12-25 21:08:33 -07:00
borrowed-referent-issue-38899.stderr Remove licenses 2018-12-25 21:08:33 -07:00
borrowed-temporary-error.rs Remove licenses 2018-12-25 21:08:33 -07:00
borrowed-temporary-error.stderr Remove licenses 2018-12-25 21:08:33 -07:00
borrowed-universal-error-2.rs Remove licenses 2018-12-25 21:08:33 -07:00
borrowed-universal-error-2.stderr Remove licenses 2018-12-25 21:08:33 -07:00
borrowed-universal-error.rs Remove licenses 2018-12-25 21:08:33 -07:00
borrowed-universal-error.stderr Remove licenses 2018-12-25 21:08:33 -07:00
cannot-move-block-spans.nll.stderr Remove licenses 2018-12-25 21:08:33 -07:00
cannot-move-block-spans.rs Remove licenses 2018-12-25 21:08:33 -07:00
cannot-move-block-spans.stderr Remove licenses 2018-12-25 21:08:33 -07:00
capture-mut-ref.rs Remove licenses 2018-12-25 21:08:33 -07:00
capture-mut-ref.stderr Remove licenses 2018-12-25 21:08:33 -07:00
capture-ref-in-struct.rs Remove licenses 2018-12-25 21:08:33 -07:00
capture-ref-in-struct.stderr Remove licenses 2018-12-25 21:08:33 -07:00
closure-access-spans.rs Remove licenses 2018-12-25 21:08:33 -07:00
closure-access-spans.stderr When using value after move, point at span of local 2019-01-24 10:36:50 -08:00
closure-borrow-spans.rs Remove licenses 2018-12-25 21:08:33 -07:00
closure-borrow-spans.stderr Remove licenses 2018-12-25 21:08:33 -07:00
closure-captures.rs Remove licenses 2018-12-25 21:08:33 -07:00
closure-captures.stderr Remove licenses 2018-12-25 21:08:33 -07:00
closure-move-spans.rs Remove licenses 2018-12-25 21:08:33 -07:00
closure-move-spans.stderr When using value after move, point at span of local 2019-01-24 10:36:50 -08:00
closure-use-spans.rs Remove licenses 2018-12-25 21:08:33 -07:00
closure-use-spans.stderr Remove licenses 2018-12-25 21:08:33 -07:00
closures-in-loops.rs Remove licenses 2018-12-25 21:08:33 -07:00
closures-in-loops.stderr When using value after move, point at span of local 2019-01-24 10:36:50 -08:00
constant-thread-locals-issue-47053.rs Remove licenses 2018-12-25 21:08:33 -07:00
constant-thread-locals-issue-47053.stderr Remove licenses 2018-12-25 21:08:33 -07:00
constant.rs Remove licenses 2018-12-25 21:08:33 -07:00
decl-macro-illegal-copy.rs Remove licenses 2018-12-25 21:08:33 -07:00
decl-macro-illegal-copy.stderr Remove licenses 2018-12-25 21:08:33 -07:00
do-not-ignore-lifetime-bounds-in-copy.rs Remove licenses 2018-12-25 21:08:33 -07:00
do-not-ignore-lifetime-bounds-in-copy.stderr Remove licenses 2018-12-25 21:08:33 -07:00
drop-may-dangle.rs Remove licenses 2018-12-25 21:08:33 -07:00
drop-no-may-dangle.rs retrieve ty info from place_ty 2018-12-27 17:25:45 +08:00
drop-no-may-dangle.stderr add non-copy note to stderr 2018-12-29 10:36:23 +08:00
enum-drop-access.rs
enum-drop-access.stderr
extra-unused-mut.rs Remove licenses 2018-12-25 21:08:33 -07:00
generator-distinct-lifetime.rs Remove licenses 2018-12-25 21:08:33 -07:00
generator-upvar-mutability.rs Remove licenses 2018-12-25 21:08:33 -07:00
generator-upvar-mutability.stderr Remove licenses 2018-12-25 21:08:33 -07:00
get_default.nll.stderr Remove licenses 2018-12-25 21:08:33 -07:00
get_default.rs Remove licenses 2018-12-25 21:08:33 -07:00
get_default.stderr Remove licenses 2018-12-25 21:08:33 -07:00
guarantor-issue-46974.rs Remove licenses 2018-12-25 21:08:33 -07:00
guarantor-issue-46974.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-16223.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-21114-ebfull.rs
issue-21114-kixunil.rs
issue-21232-partial-init-and-erroneous-use.rs
issue-21232-partial-init-and-erroneous-use.stderr When using value after move, point at span of local 2019-01-24 10:36:50 -08:00
issue-21232-partial-init-and-use.rs
issue-21232-partial-init-and-use.stderr When using value after move, point at span of local 2019-01-24 10:36:50 -08:00
issue-22323-temp-destruction.rs
issue-27868.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-27868.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-30104.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-31567.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-31567.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-32382-index-assoc-type-with-lifetime.rs
issue-43058.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-46589.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-46589.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-47022.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-47388.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-47388.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-47470.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-47470.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-48070.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-48238.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-48238.stderr Update tests 2019-01-17 20:39:06 -06:00
issue-48697.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-50716-1.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-50716.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-50716.stderr Update tests 2019-01-17 20:39:06 -06:00
issue-51191.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-51191.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-51244.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-51244.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-51268.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-51268.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-51351.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-51512.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-51512.stderr When using value after move, point at span of local 2019-01-24 10:36:50 -08:00
issue-52059-report-when-borrow-and-drop-conflict.rs
issue-52059-report-when-borrow-and-drop-conflict.stderr
issue-52078.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-52086.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-52086.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-52113.rs Update tests 2019-01-17 20:39:06 -06:00
issue-52113.stderr Update tests 2019-01-17 20:39:06 -06:00
issue-52534-1.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-52534-1.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-52534-2.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-52534-2.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-52534.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-52534.stderr Fix broken links to second edition TRPL. 2019-01-01 12:53:07 -05:00
issue-52663-span-decl-captured-variable.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-52663-span-decl-captured-variable.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-52663-trait-object.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-52663-trait-object.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-52669.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-52669.stderr When using value after move, point at span of local 2019-01-24 10:36:50 -08:00
issue-52742.rs Update tests 2019-01-17 20:39:06 -06:00
issue-52742.stderr Update tests 2019-01-17 20:39:06 -06:00
issue-53040.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-53040.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-53119.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-53570.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-53807.nll.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-53807.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-53807.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-54382-use-span-of-tail-of-block.nll.stderr
issue-54382-use-span-of-tail-of-block.rs
issue-54382-use-span-of-tail-of-block.stderr
issue-54556-niconii.nll.stderr
issue-54556-niconii.rs
issue-54556-niconii.stderr
issue-54556-stephaneyfx.nll.stderr
issue-54556-stephaneyfx.rs
issue-54556-stephaneyfx.stderr
issue-54556-temps-in-tail-diagnostic.nll.stderr
issue-54556-temps-in-tail-diagnostic.rs
issue-54556-temps-in-tail-diagnostic.stderr
issue-54556-used-vs-unused-tails.nll.stderr
issue-54556-used-vs-unused-tails.rs
issue-54556-used-vs-unused-tails.stderr
issue-54556-wrap-it-up.nll.stderr
issue-54556-wrap-it-up.rs
issue-54556-wrap-it-up.stderr
issue-55288.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-55344.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-55394.rs Update tests 2019-01-17 20:39:06 -06:00
issue-55394.stderr Update tests 2019-01-17 20:39:06 -06:00
issue-55401.rs Support user type annotations in ref bindings. 2018-12-30 14:30:58 +01:00
issue-55401.stderr fix compat-mode ui test 2019-01-17 22:04:27 -06:00
issue-55651.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-55850.nll.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-55850.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-55850.stderr Remove licenses 2018-12-25 21:08:33 -07:00
issue-57100.rs Make conflicting borrow description more robust. 2019-01-04 20:56:41 +01:00
issue-57100.stderr Improve diagnostic labels and add note. 2019-01-04 22:43:51 +01:00
issue-57265-return-type-wf-check.rs Wf-check the output type of a function in MIR-typeck 2019-01-02 20:00:56 +00:00
issue-57265-return-type-wf-check.stderr Wf-check the output type of a function in MIR-typeck 2019-01-02 20:00:56 +00:00
issue-57280-1.rs Fix bug in associated constant type annotations. 2019-01-03 19:33:05 +01:00
issue-57280.rs Fix bug in associated constant type annotations. 2019-01-03 19:33:05 +01:00
loan_ends_mid_block_pair.rs Remove licenses 2018-12-25 21:08:33 -07:00
loan_ends_mid_block_pair.stderr Remove licenses 2018-12-25 21:08:33 -07:00
loan_ends_mid_block_vec.rs Remove licenses 2018-12-25 21:08:33 -07:00
loan_ends_mid_block_vec.stderr Remove licenses 2018-12-25 21:08:33 -07:00
match-guards-always-borrow.ast.nll.stderr Remove licenses 2018-12-25 21:08:33 -07:00
match-guards-always-borrow.ast.stderr Remove licenses 2018-12-25 21:08:33 -07:00
match-guards-always-borrow.mir.stderr Remove licenses 2018-12-25 21:08:33 -07:00
match-guards-always-borrow.rs Remove licenses 2018-12-25 21:08:33 -07:00
match-guards-partially-borrow.rs
match-guards-partially-borrow.stderr
match-on-borrowed.rs
match-on-borrowed.stderr
maybe-initialized-drop-implicit-fragment-drop.rs Remove licenses 2018-12-25 21:08:33 -07:00
maybe-initialized-drop-implicit-fragment-drop.stderr Remove licenses 2018-12-25 21:08:33 -07:00
maybe-initialized-drop-uninitialized.rs Remove licenses 2018-12-25 21:08:33 -07:00
maybe-initialized-drop-with-fragment.rs Remove licenses 2018-12-25 21:08:33 -07:00
maybe-initialized-drop-with-fragment.stderr Remove licenses 2018-12-25 21:08:33 -07:00
maybe-initialized-drop-with-uninitialized-fragments.rs Remove licenses 2018-12-25 21:08:33 -07:00
maybe-initialized-drop-with-uninitialized-fragments.stderr Remove licenses 2018-12-25 21:08:33 -07:00
maybe-initialized-drop.rs Remove licenses 2018-12-25 21:08:33 -07:00
maybe-initialized-drop.stderr Remove licenses 2018-12-25 21:08:33 -07:00
mir_check_cast_closure.rs Update tests 2019-01-17 20:39:06 -06:00
mir_check_cast_closure.stderr Update tests 2019-01-17 20:39:06 -06:00
mir_check_cast_reify.rs Update tests 2019-01-17 20:39:06 -06:00
mir_check_cast_reify.stderr Update tests 2019-01-17 20:39:06 -06:00
mir_check_cast_unsafe_fn.rs Update tests 2019-01-17 20:39:06 -06:00
mir_check_cast_unsafe_fn.stderr Update tests 2019-01-17 20:39:06 -06:00
mir_check_cast_unsize.rs Update tests 2019-01-17 20:39:06 -06:00
mir_check_cast_unsize.stderr Update tests 2019-01-17 20:39:06 -06:00
move-errors.rs Remove licenses 2018-12-25 21:08:33 -07:00
move-errors.stderr Remove licenses 2018-12-25 21:08:33 -07:00
move-subpaths-moves-root.rs Remove licenses 2018-12-25 21:08:33 -07:00
move-subpaths-moves-root.stderr Remove licenses 2018-12-25 21:08:33 -07:00
normalization-bounds-error.rs Remove licenses 2018-12-25 21:08:33 -07:00
normalization-bounds-error.stderr Remove licenses 2018-12-25 21:08:33 -07:00
normalization-bounds.rs Remove licenses 2018-12-25 21:08:33 -07:00
polonius-smoke-test.rs
polonius-smoke-test.stderr
projection-return.rs Remove licenses 2018-12-25 21:08:33 -07:00
promotable-mutable-zst-doesnt-conflict.rs Remove licenses 2018-12-25 21:08:33 -07:00
reference-carried-through-struct-field.ast.nll.stderr Remove licenses 2018-12-25 21:08:33 -07:00
reference-carried-through-struct-field.ast.stderr Remove licenses 2018-12-25 21:08:33 -07:00
reference-carried-through-struct-field.mir.stderr Remove licenses 2018-12-25 21:08:33 -07:00
reference-carried-through-struct-field.rs Remove licenses 2018-12-25 21:08:33 -07:00
region-ends-after-if-condition.nll.stderr Remove licenses 2018-12-25 21:08:33 -07:00
region-ends-after-if-condition.rs Remove licenses 2018-12-25 21:08:33 -07:00
region-ends-after-if-condition.stderr Remove licenses 2018-12-25 21:08:33 -07:00
return_from_loop.rs Remove licenses 2018-12-25 21:08:33 -07:00
return_from_loop.stderr Remove licenses 2018-12-25 21:08:33 -07:00
return-ref-mut-issue-46557.rs Remove licenses 2018-12-25 21:08:33 -07:00
return-ref-mut-issue-46557.stderr Remove licenses 2018-12-25 21:08:33 -07:00
trait-associated-constant.rs Remove licenses 2018-12-25 21:08:33 -07:00
trait-associated-constant.stderr Remove licenses 2018-12-25 21:08:33 -07:00
type-alias-free-regions.rs
type-alias-free-regions.stderr Update tests 2019-01-17 20:39:06 -06:00
unused-mut-issue-50343.rs Remove licenses 2018-12-25 21:08:33 -07:00
unused-mut-issue-50343.stderr Remove licenses 2018-12-25 21:08:33 -07:00
where_clauses_in_functions.rs Update tests 2019-01-17 20:39:06 -06:00
where_clauses_in_functions.stderr Update tests 2019-01-17 20:39:06 -06:00
where_clauses_in_structs.rs Update tests 2019-01-17 20:39:06 -06:00
where_clauses_in_structs.stderr Update tests 2019-01-17 20:39:06 -06:00