rust/tests/ui/closures
Matthias Krüger 089e8c03bc
Rollup merge of #107489 - compiler-errors:non_lifetime_binders, r=cjgillot
Implement partial support for non-lifetime binders

This implements support for non-lifetime binders. It's pretty useless currently, but I wanted to put this up so the implementation can be discussed.

Specifically, this piggybacks off of the late-bound lifetime collection code in `rustc_hir_typeck::collect::lifetimes`. This seems like a necessary step given the fact we don't resolve late-bound regions until this point, and binders are sometimes merged.

Q: I'm not sure if I should go along this route, or try to modify the earlier nameres code to compute the right bound var indices for type and const binders eagerly... If so, I'll need to rename all these queries to something more appropriate (I've done this for `resolve_lifetime::Region` -> `resolve_lifetime::ResolvedArg`)

cc rust-lang/types-team#81

r? `@ghost`
2023-02-17 00:19:34 +01:00
..
2229_closure_analysis Fix unintentional UB in ui tests 2023-02-15 09:05:05 -05:00
binder Add feature gate for non_lifetime_binders 2023-02-16 03:39:58 +00:00
closure-expected-type
print
add_semicolon_non_block_closure.rs
add_semicolon_non_block_closure.stderr
closure_cap_coerce_many_fail.rs
closure_cap_coerce_many_fail.stderr
closure_no_cap_coerce_many_check_pass.rs
closure_no_cap_coerce_many_run_pass.rs
closure_no_cap_coerce_many_unsafe_0.mir.stderr
closure_no_cap_coerce_many_unsafe_0.rs
closure_no_cap_coerce_many_unsafe_0.thir.stderr
closure_no_cap_coerce_many_unsafe_1.rs
closure_promotion.rs
closure-array-break-length.rs
closure-array-break-length.stderr
closure-bounds-cant-promote-superkind-in-struct.rs
closure-bounds-cant-promote-superkind-in-struct.stderr
closure-bounds-static-cant-capture-borrowed.rs
closure-bounds-static-cant-capture-borrowed.stderr
closure-bounds-subtype.rs
closure-bounds-subtype.stderr
closure-expected.rs
closure-expected.stderr
closure-immutable-outer-variable.fixed
closure-immutable-outer-variable.rs
closure-immutable-outer-variable.rs.fixed
closure-immutable-outer-variable.stderr
closure-move-sync.rs
closure-move-sync.stderr
closure-no-fn-1.rs
closure-no-fn-1.stderr
closure-no-fn-2.rs
closure-no-fn-2.stderr
closure-no-fn-3.rs
closure-no-fn-3.stderr
closure-no-fn-4.rs
closure-no-fn-4.stderr
closure-no-fn-5.rs
closure-no-fn-5.stderr
closure-referencing-itself-issue-25954.rs
closure-referencing-itself-issue-25954.stderr
closure-reform-bad.rs
closure-reform-bad.stderr
closure-return-type-mismatch.rs
closure-return-type-mismatch.stderr
closure-return-type-must-be-sized.rs
closure-return-type-must-be-sized.stderr
closure-wrong-kind.rs
closure-wrong-kind.stderr
coerce-unsafe-closure-to-unsafe-fn-ptr.mir.stderr
coerce-unsafe-closure-to-unsafe-fn-ptr.rs
coerce-unsafe-closure-to-unsafe-fn-ptr.thir.stderr
coerce-unsafe-to-closure.rs
coerce-unsafe-to-closure.stderr
deeply-nested_closures.rs
diverging-closure.rs
issue-6801.rs
issue-6801.stderr
issue-10398.rs
issue-10398.stderr
issue-23012-supertrait-signature-inference.rs
issue-41366.rs
issue-42463.rs
issue-46742.rs
issue-48109.rs
issue-52437.rs
issue-52437.stderr
issue-67123.rs
issue-67123.stderr
issue-68025.rs
issue-72408-nested-closures-exponential.rs
issue-78720.rs
issue-78720.stderr Modify primary span label for E0308 2023-01-30 20:12:19 +00:00
issue-80313-mutable-borrow-in-closure.rs
issue-80313-mutable-borrow-in-closure.stderr
issue-80313-mutable-borrow-in-move-closure.rs
issue-80313-mutable-borrow-in-move-closure.stderr
issue-80313-mutation-in-closure.rs
issue-80313-mutation-in-closure.stderr
issue-80313-mutation-in-move-closure.rs
issue-80313-mutation-in-move-closure.stderr
issue-81700-mut-borrow.rs
issue-81700-mut-borrow.stderr
issue-82438-mut-without-upvar.rs
issue-82438-mut-without-upvar.stderr
issue-84044-drop-non-mut.rs
issue-84044-drop-non-mut.stderr
issue-84128.rs
issue-84128.stderr
issue-87461.rs
issue-87461.stderr
issue-87814-1.rs
issue-87814-2.rs
issue-90871.rs
issue-90871.stderr
issue-97607.rs
issue-99565.rs
issue-99565.stderr
issue-101696.rs
issue-102089-multiple-opaque-cast.rs
local-type-mix.rs
local-type-mix.stderr
multiple-fn-bounds.rs
multiple-fn-bounds.stderr Tweak "borrow closure argument" suggestion 2023-01-19 19:35:49 +00:00
old-closure-arg-call-as.rs
old-closure-arg.rs
old-closure-explicit-types.rs
old-closure-expr-precedence.rs
old-closure-expr-precedence.stderr
old-closure-expression-remove-semicolon.fixed
old-closure-expression-remove-semicolon.rs
old-closure-expression-remove-semicolon.stderr
old-closure-fn-coerce.rs
old-closure-iter-1.rs
old-closure-iter-2.rs
once-move-out-on-heap.rs
semistatement-in-lambda.rs
supertrait-hint-cycle-2.rs
supertrait-hint-cycle-3.rs
supertrait-hint-cycle.rs
supertrait-hint-references-assoc-ty.rs
thir-unsafeck-issue-85871.rs