summaryrefslogtreecommitdiffstats
path: root/tests/ui/unboxed-closures
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:18:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:18:58 +0000
commita4b7ed7a42c716ab9f05e351f003d589124fd55d (patch)
treeb620cd3f223850b28716e474e80c58059dca5dd4 /tests/ui/unboxed-closures
parentAdding upstream version 1.67.1+dfsg1. (diff)
downloadrustc-a4b7ed7a42c716ab9f05e351f003d589124fd55d.tar.xz
rustc-a4b7ed7a42c716ab9f05e351f003d589124fd55d.zip
Adding upstream version 1.68.2+dfsg1.upstream/1.68.2+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--tests/ui/unboxed-closures/auxiliary/unboxed-closures-cross-crate.rs (renamed from src/test/ui/unboxed-closures/auxiliary/unboxed-closures-cross-crate.rs)0
-rw-r--r--tests/ui/unboxed-closures/issue-18652.rs (renamed from src/test/ui/unboxed-closures/issue-18652.rs)0
-rw-r--r--tests/ui/unboxed-closures/issue-18661.rs (renamed from src/test/ui/unboxed-closures/issue-18661.rs)0
-rw-r--r--tests/ui/unboxed-closures/issue-30906.rs (renamed from src/test/ui/unboxed-closures/issue-30906.rs)0
-rw-r--r--tests/ui/unboxed-closures/issue-30906.stderr (renamed from src/test/ui/unboxed-closures/issue-30906.stderr)0
-rw-r--r--tests/ui/unboxed-closures/issue-53448.rs (renamed from src/test/ui/unboxed-closures/issue-53448.rs)0
-rw-r--r--tests/ui/unboxed-closures/non-tupled-arg-mismatch.rs (renamed from src/test/ui/unboxed-closures/non-tupled-arg-mismatch.rs)0
-rw-r--r--tests/ui/unboxed-closures/non-tupled-arg-mismatch.stderr (renamed from src/test/ui/unboxed-closures/non-tupled-arg-mismatch.stderr)3
-rw-r--r--tests/ui/unboxed-closures/non-tupled-call.rs17
-rw-r--r--tests/ui/unboxed-closures/non-tupled-call.stderr9
-rw-r--r--tests/ui/unboxed-closures/type-id-higher-rank.rs (renamed from src/test/ui/unboxed-closures/type-id-higher-rank.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-feature-gate.rs (renamed from src/test/ui/unboxed-closures/unboxed-closure-feature-gate.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-feature-gate.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closure-feature-gate.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-illegal-move.rs (renamed from src/test/ui/unboxed-closures/unboxed-closure-illegal-move.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-illegal-move.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closure-illegal-move.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-immutable-capture.rs (renamed from src/test/ui/unboxed-closures/unboxed-closure-immutable-capture.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-immutable-capture.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closure-immutable-capture.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-no-cyclic-sig.rs (renamed from src/test/ui/unboxed-closures/unboxed-closure-no-cyclic-sig.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-no-cyclic-sig.stderr19
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-region.rs11
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-region.stderr21
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-default.rs (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-default.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-default.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-default.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-equiv.rs (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-equiv.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-equiv.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-equiv.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-lifetime-elision.rs (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-lifetime-elision.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-lifetime-elision.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-lifetime-elision.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-not-used-on-fn.rs (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-not-used-on-fn.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-not-used-on-fn.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-not-used-on-fn.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-region.rs (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-region.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-region.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-region.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.rs (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.rs (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.rs (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-1.rs (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-1.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-1.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-1.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.rs (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.rs (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.rs (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-all-traits.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-all-traits.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-blanket-fn-mut.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-blanket-fn-mut.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-blanket-fn.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-blanket-fn.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-borrow-conflict.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-borrow-conflict.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-borrow-conflict.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-borrow-conflict.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-boxed.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-boxed.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-by-ref.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-by-ref.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-call-fn-autoderef.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-call-fn-autoderef.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-call-sugar-autoderef.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-call-sugar-autoderef.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-call-sugar-object-autoderef.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-call-sugar-object-autoderef.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-call-sugar-object.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-call-sugar-object.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-counter-not-moved.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-counter-not-moved.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-counter-not-moved.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-counter-not-moved.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-cross-crate.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-cross-crate.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-direct-sugary-call.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-direct-sugary-call.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-drop.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-drop.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-extern-fn-hr.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-extern-fn-hr.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-extern-fn.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-extern-fn.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-1.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-1.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-1.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-1.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-2.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-2.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-2.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-2.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-fn-as-fnmut-and-fnonce.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-fn-as-fnmut-and-fnonce.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-fnmut-as-fn.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-fnmut-as-fn.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-fnmut-as-fn.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-fnmut-as-fn.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-fnmut-as-fnonce.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-fnmut-as-fnonce.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-generic.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-generic.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-bound.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-bound.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-object-type.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-object-type.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-arg-types-w-bound-regs-from-expected-bound.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-arg-types-w-bound-regs-from-expected-bound.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-explicit-call-early.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-explicit-call-early.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fn-once-move-from-projection.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-fn-once-move-from-projection.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fn-once-move-from-projection.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-fn-once-move-from-projection.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.stderr)7
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-missing-mut.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-missing-mut.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-missing-mut.stderr16
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-move-missing-mut.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-move-missing-mut.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-move-missing-mut.stderr16
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-move.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-move.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fnmut.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-move.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-move.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-fnonce.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-kind.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-kind.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-recursive-fn.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-recursive-fn.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-infer-upvar.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-infer-upvar.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-manual-impl.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-manual-impl.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-monomorphization.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-monomorphization.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-move-from-projection-issue-30046.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-move-from-projection-issue-30046.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-move-mutable.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-move-mutable.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-move-mutable.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-move-mutable.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-move-some-upvars-in-by-ref-closure.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-move-some-upvars-in-by-ref-closure.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-mutate-upvar.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-mutate-upvar.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-mutate-upvar.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-mutate-upvar.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-mutated-upvar-from-fn-closure.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-mutated-upvar-from-fn-closure.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-mutated-upvar-from-fn-closure.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-mutated-upvar-from-fn-closure.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-prelude.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-prelude.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-recursive-fn-using-fn-mut.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-recursive-fn-using-fn-mut.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-recursive-fn-using-fn-mut.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-recursive-fn-using-fn-mut.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-simple.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-simple.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-single-word-env.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-single-word-env.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-static-call-fn-once.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-static-call-fn-once.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-static-call-wrong-trait.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-static-call-wrong-trait.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-static-call-wrong-trait.stderr9
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-sugar-object.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-sugar-object.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-type-mismatch.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-type-mismatch.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-type-mismatch.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-type-mismatch.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-unique-type-id.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-unique-type-id.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-unsafe-extern-fn.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-unsafe-extern-fn.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-unsafe-extern-fn.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-unsafe-extern-fn.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-wrong-abi.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-wrong-abi.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-wrong-abi.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-wrong-abi.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-wrong-arg-type-extern-fn.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-wrong-arg-type-extern-fn.rs)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-wrong-arg-type-extern-fn.stderr (renamed from src/test/ui/unboxed-closures/unboxed-closures-wrong-arg-type-extern-fn.stderr)0
-rw-r--r--tests/ui/unboxed-closures/unboxed-closures-zero-args.rs (renamed from src/test/ui/unboxed-closures/unboxed-closures-zero-args.rs)0
127 files changed, 123 insertions, 5 deletions
diff --git a/src/test/ui/unboxed-closures/auxiliary/unboxed-closures-cross-crate.rs b/tests/ui/unboxed-closures/auxiliary/unboxed-closures-cross-crate.rs
index ac0a74eeb..ac0a74eeb 100644
--- a/src/test/ui/unboxed-closures/auxiliary/unboxed-closures-cross-crate.rs
+++ b/tests/ui/unboxed-closures/auxiliary/unboxed-closures-cross-crate.rs
diff --git a/src/test/ui/unboxed-closures/issue-18652.rs b/tests/ui/unboxed-closures/issue-18652.rs
index 59aa01568..59aa01568 100644
--- a/src/test/ui/unboxed-closures/issue-18652.rs
+++ b/tests/ui/unboxed-closures/issue-18652.rs
diff --git a/src/test/ui/unboxed-closures/issue-18661.rs b/tests/ui/unboxed-closures/issue-18661.rs
index e24272432..e24272432 100644
--- a/src/test/ui/unboxed-closures/issue-18661.rs
+++ b/tests/ui/unboxed-closures/issue-18661.rs
diff --git a/src/test/ui/unboxed-closures/issue-30906.rs b/tests/ui/unboxed-closures/issue-30906.rs
index e2d219e47..e2d219e47 100644
--- a/src/test/ui/unboxed-closures/issue-30906.rs
+++ b/tests/ui/unboxed-closures/issue-30906.rs
diff --git a/src/test/ui/unboxed-closures/issue-30906.stderr b/tests/ui/unboxed-closures/issue-30906.stderr
index 147a20974..147a20974 100644
--- a/src/test/ui/unboxed-closures/issue-30906.stderr
+++ b/tests/ui/unboxed-closures/issue-30906.stderr
diff --git a/src/test/ui/unboxed-closures/issue-53448.rs b/tests/ui/unboxed-closures/issue-53448.rs
index ea1edf7d4..ea1edf7d4 100644
--- a/src/test/ui/unboxed-closures/issue-53448.rs
+++ b/tests/ui/unboxed-closures/issue-53448.rs
diff --git a/src/test/ui/unboxed-closures/non-tupled-arg-mismatch.rs b/tests/ui/unboxed-closures/non-tupled-arg-mismatch.rs
index d2e486002..d2e486002 100644
--- a/src/test/ui/unboxed-closures/non-tupled-arg-mismatch.rs
+++ b/tests/ui/unboxed-closures/non-tupled-arg-mismatch.rs
diff --git a/src/test/ui/unboxed-closures/non-tupled-arg-mismatch.stderr b/tests/ui/unboxed-closures/non-tupled-arg-mismatch.stderr
index 1c18eb0fc..cfbe1c6f2 100644
--- a/src/test/ui/unboxed-closures/non-tupled-arg-mismatch.stderr
+++ b/tests/ui/unboxed-closures/non-tupled-arg-mismatch.stderr
@@ -6,9 +6,6 @@ LL | fn a<F: Fn<usize>>(f: F) {}
|
note: required by a bound in `Fn`
--> $SRC_DIR/core/src/ops/function.rs:LL:COL
- |
-LL | pub trait Fn<Args: Tuple>: FnMut<Args> {
- | ^^^^^ required by this bound in `Fn`
error: aborting due to previous error
diff --git a/tests/ui/unboxed-closures/non-tupled-call.rs b/tests/ui/unboxed-closures/non-tupled-call.rs
new file mode 100644
index 000000000..08bea4f16
--- /dev/null
+++ b/tests/ui/unboxed-closures/non-tupled-call.rs
@@ -0,0 +1,17 @@
+#![feature(fn_traits, unboxed_closures, tuple_trait)]
+
+use std::default::Default;
+use std::marker::Tuple;
+
+fn wrap<P: Tuple + Default, T>(func: impl Fn<P, Output = T>) {
+ let x: P = Default::default();
+ // Should be: `func.call(x);`
+ func(x);
+ //~^ ERROR cannot use call notation; the first type parameter for the function trait is neither a tuple nor unit
+}
+
+fn foo() {}
+
+fn main() {
+ wrap(foo);
+}
diff --git a/tests/ui/unboxed-closures/non-tupled-call.stderr b/tests/ui/unboxed-closures/non-tupled-call.stderr
new file mode 100644
index 000000000..35ac9ebe2
--- /dev/null
+++ b/tests/ui/unboxed-closures/non-tupled-call.stderr
@@ -0,0 +1,9 @@
+error[E0059]: cannot use call notation; the first type parameter for the function trait is neither a tuple nor unit
+ --> $DIR/non-tupled-call.rs:9:5
+ |
+LL | func(x);
+ | ^^^^^^^
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0059`.
diff --git a/src/test/ui/unboxed-closures/type-id-higher-rank.rs b/tests/ui/unboxed-closures/type-id-higher-rank.rs
index 1f8aec205..1f8aec205 100644
--- a/src/test/ui/unboxed-closures/type-id-higher-rank.rs
+++ b/tests/ui/unboxed-closures/type-id-higher-rank.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-feature-gate.rs b/tests/ui/unboxed-closures/unboxed-closure-feature-gate.rs
index d8b201bf8..d8b201bf8 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-feature-gate.rs
+++ b/tests/ui/unboxed-closures/unboxed-closure-feature-gate.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-feature-gate.stderr b/tests/ui/unboxed-closures/unboxed-closure-feature-gate.stderr
index b824d160d..b824d160d 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-feature-gate.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closure-feature-gate.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-illegal-move.rs b/tests/ui/unboxed-closures/unboxed-closure-illegal-move.rs
index 7377359b6..7377359b6 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-illegal-move.rs
+++ b/tests/ui/unboxed-closures/unboxed-closure-illegal-move.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-illegal-move.stderr b/tests/ui/unboxed-closures/unboxed-closure-illegal-move.stderr
index bfa3061de..bfa3061de 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-illegal-move.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closure-illegal-move.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-immutable-capture.rs b/tests/ui/unboxed-closures/unboxed-closure-immutable-capture.rs
index 3eba9c4d4..3eba9c4d4 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-immutable-capture.rs
+++ b/tests/ui/unboxed-closures/unboxed-closure-immutable-capture.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-immutable-capture.stderr b/tests/ui/unboxed-closures/unboxed-closure-immutable-capture.stderr
index ad5451ced..ad5451ced 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-immutable-capture.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closure-immutable-capture.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-no-cyclic-sig.rs b/tests/ui/unboxed-closures/unboxed-closure-no-cyclic-sig.rs
index 9d0aa4132..9d0aa4132 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-no-cyclic-sig.rs
+++ b/tests/ui/unboxed-closures/unboxed-closure-no-cyclic-sig.rs
diff --git a/tests/ui/unboxed-closures/unboxed-closure-no-cyclic-sig.stderr b/tests/ui/unboxed-closures/unboxed-closure-no-cyclic-sig.stderr
new file mode 100644
index 000000000..6d5dbca05
--- /dev/null
+++ b/tests/ui/unboxed-closures/unboxed-closure-no-cyclic-sig.stderr
@@ -0,0 +1,19 @@
+error[E0644]: closure/generator type that references itself
+ --> $DIR/unboxed-closure-no-cyclic-sig.rs:8:7
+ |
+LL | g(|_| { });
+ | ^^^ cyclic type of infinite size
+ |
+ = note: closures cannot capture themselves or take themselves as argument;
+ this error may be the result of a recent compiler bug-fix,
+ see issue #46062 <https://github.com/rust-lang/rust/issues/46062>
+ for more information
+note: required by a bound in `g`
+ --> $DIR/unboxed-closure-no-cyclic-sig.rs:5:24
+ |
+LL | fn g<F>(_: F) where F: FnOnce(Option<F>) {}
+ | ^^^^^^^^^^^^^^^^^ required by this bound in `g`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0644`.
diff --git a/tests/ui/unboxed-closures/unboxed-closure-region.rs b/tests/ui/unboxed-closures/unboxed-closure-region.rs
new file mode 100644
index 000000000..51fe118c9
--- /dev/null
+++ b/tests/ui/unboxed-closures/unboxed-closure-region.rs
@@ -0,0 +1,11 @@
+// Test that an unboxed closure that captures a free variable by
+// reference cannot escape the region of that variable.
+
+
+fn main() {
+ let _f = {
+ let x = 0;
+ || x //~ ERROR closure may outlive the current block, but it borrows `x`
+ };
+ _f;
+}
diff --git a/tests/ui/unboxed-closures/unboxed-closure-region.stderr b/tests/ui/unboxed-closures/unboxed-closure-region.stderr
new file mode 100644
index 000000000..43e9af24a
--- /dev/null
+++ b/tests/ui/unboxed-closures/unboxed-closure-region.stderr
@@ -0,0 +1,21 @@
+error[E0373]: closure may outlive the current block, but it borrows `x`, which is owned by the current block
+ --> $DIR/unboxed-closure-region.rs:8:9
+ |
+LL | || x
+ | ^^ - `x` is borrowed here
+ | |
+ | may outlive borrowed value `x`
+ |
+note: block requires argument type to outlive `'1`
+ --> $DIR/unboxed-closure-region.rs:6:9
+ |
+LL | let _f = {
+ | ^^
+help: to force the closure to take ownership of `x` (and any other referenced variables), use the `move` keyword
+ |
+LL | move || x
+ | ++++
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0373`.
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-default.rs b/tests/ui/unboxed-closures/unboxed-closure-sugar-default.rs
index f1c83f060..f1c83f060 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-default.rs
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-default.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-default.stderr b/tests/ui/unboxed-closures/unboxed-closure-sugar-default.stderr
index a3b32d2c1..a3b32d2c1 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-default.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-default.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-equiv.rs b/tests/ui/unboxed-closures/unboxed-closure-sugar-equiv.rs
index acf0227a7..acf0227a7 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-equiv.rs
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-equiv.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-equiv.stderr b/tests/ui/unboxed-closures/unboxed-closure-sugar-equiv.stderr
index bccbf307a..bccbf307a 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-equiv.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-equiv.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-lifetime-elision.rs b/tests/ui/unboxed-closures/unboxed-closure-sugar-lifetime-elision.rs
index d11d663f1..d11d663f1 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-lifetime-elision.rs
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-lifetime-elision.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-lifetime-elision.stderr b/tests/ui/unboxed-closures/unboxed-closure-sugar-lifetime-elision.stderr
index 2b8fec86c..2b8fec86c 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-lifetime-elision.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-lifetime-elision.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-not-used-on-fn.rs b/tests/ui/unboxed-closures/unboxed-closure-sugar-not-used-on-fn.rs
index 6d6ed4b56..6d6ed4b56 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-not-used-on-fn.rs
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-not-used-on-fn.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-not-used-on-fn.stderr b/tests/ui/unboxed-closures/unboxed-closure-sugar-not-used-on-fn.stderr
index 9da36906d..9da36906d 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-not-used-on-fn.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-not-used-on-fn.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-region.rs b/tests/ui/unboxed-closures/unboxed-closure-sugar-region.rs
index 65f40075b..65f40075b 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-region.rs
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-region.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-region.stderr b/tests/ui/unboxed-closures/unboxed-closure-sugar-region.stderr
index 016fc4dfb..016fc4dfb 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-region.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-region.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.rs b/tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.rs
index 462f6fb7b..462f6fb7b 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.rs
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.stderr b/tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.stderr
index 29ea5735c..29ea5735c 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-1.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.rs b/tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.rs
index 79ced1ecf..79ced1ecf 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.rs
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.stderr b/tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.stderr
index 4df404e81..4df404e81 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct-3.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.rs b/tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.rs
index bd61cbd80..bd61cbd80 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.rs
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.stderr b/tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.stderr
index 427ba3414..427ba3414 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-used-on-struct.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-1.rs b/tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-1.rs
index a6c86311b..a6c86311b 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-1.rs
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-1.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-1.stderr b/tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-1.stderr
index 59e7bc8c8..59e7bc8c8 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-1.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-1.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.rs b/tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.rs
index f26ad8e93..f26ad8e93 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.rs
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.stderr b/tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.stderr
index ebaacf0a6..ebaacf0a6 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters-3.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.rs b/tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.rs
index 4465b43a7..4465b43a7 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.rs
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.stderr b/tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.stderr
index 9601e64c1..9601e64c1 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-number-number-type-parameters.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.rs b/tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.rs
index 4bcf90552..4bcf90552 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.rs
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.stderr b/tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.stderr
index 3ff05fb23..3ff05fb23 100644
--- a/src/test/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closure-sugar-wrong-trait.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-all-traits.rs b/tests/ui/unboxed-closures/unboxed-closures-all-traits.rs
index dfccb0200..dfccb0200 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-all-traits.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-all-traits.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-blanket-fn-mut.rs b/tests/ui/unboxed-closures/unboxed-closures-blanket-fn-mut.rs
index a10016735..a10016735 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-blanket-fn-mut.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-blanket-fn-mut.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-blanket-fn.rs b/tests/ui/unboxed-closures/unboxed-closures-blanket-fn.rs
index ca1d31ca5..ca1d31ca5 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-blanket-fn.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-blanket-fn.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-borrow-conflict.rs b/tests/ui/unboxed-closures/unboxed-closures-borrow-conflict.rs
index 835a1f598..835a1f598 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-borrow-conflict.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-borrow-conflict.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-borrow-conflict.stderr b/tests/ui/unboxed-closures/unboxed-closures-borrow-conflict.stderr
index 21d6b4fde..21d6b4fde 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-borrow-conflict.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-borrow-conflict.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-boxed.rs b/tests/ui/unboxed-closures/unboxed-closures-boxed.rs
index 3f550fd04..3f550fd04 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-boxed.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-boxed.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-by-ref.rs b/tests/ui/unboxed-closures/unboxed-closures-by-ref.rs
index cf4d4d3e1..cf4d4d3e1 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-by-ref.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-by-ref.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-call-fn-autoderef.rs b/tests/ui/unboxed-closures/unboxed-closures-call-fn-autoderef.rs
index e23a75ab3..e23a75ab3 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-call-fn-autoderef.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-call-fn-autoderef.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-call-sugar-autoderef.rs b/tests/ui/unboxed-closures/unboxed-closures-call-sugar-autoderef.rs
index 9b8a3f409..9b8a3f409 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-call-sugar-autoderef.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-call-sugar-autoderef.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-call-sugar-object-autoderef.rs b/tests/ui/unboxed-closures/unboxed-closures-call-sugar-object-autoderef.rs
index d47ceea0f..d47ceea0f 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-call-sugar-object-autoderef.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-call-sugar-object-autoderef.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-call-sugar-object.rs b/tests/ui/unboxed-closures/unboxed-closures-call-sugar-object.rs
index f77733d10..f77733d10 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-call-sugar-object.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-call-sugar-object.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-counter-not-moved.rs b/tests/ui/unboxed-closures/unboxed-closures-counter-not-moved.rs
index 390386e57..390386e57 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-counter-not-moved.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-counter-not-moved.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-counter-not-moved.stderr b/tests/ui/unboxed-closures/unboxed-closures-counter-not-moved.stderr
index 6450cc30a..6450cc30a 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-counter-not-moved.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-counter-not-moved.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-cross-crate.rs b/tests/ui/unboxed-closures/unboxed-closures-cross-crate.rs
index 39cc26072..39cc26072 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-cross-crate.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-cross-crate.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-direct-sugary-call.rs b/tests/ui/unboxed-closures/unboxed-closures-direct-sugary-call.rs
index 1c5e74e59..1c5e74e59 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-direct-sugary-call.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-direct-sugary-call.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-drop.rs b/tests/ui/unboxed-closures/unboxed-closures-drop.rs
index ba3c61ca2..ba3c61ca2 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-drop.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-drop.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-extern-fn-hr.rs b/tests/ui/unboxed-closures/unboxed-closures-extern-fn-hr.rs
index 3ee1aeb10..3ee1aeb10 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-extern-fn-hr.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-extern-fn-hr.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-extern-fn.rs b/tests/ui/unboxed-closures/unboxed-closures-extern-fn.rs
index 677cd259a..677cd259a 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-extern-fn.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-extern-fn.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-1.rs b/tests/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-1.rs
index 1358ba0f9..1358ba0f9 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-1.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-1.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-1.stderr b/tests/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-1.stderr
index cbdb4dd0f..cbdb4dd0f 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-1.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-1.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-2.rs b/tests/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-2.rs
index 25c2dbe19..25c2dbe19 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-2.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-2.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-2.stderr b/tests/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-2.stderr
index ff2a597be..ff2a597be 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-2.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-failed-recursive-fn-2.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-fn-as-fnmut-and-fnonce.rs b/tests/ui/unboxed-closures/unboxed-closures-fn-as-fnmut-and-fnonce.rs
index 851f3d2fe..851f3d2fe 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-fn-as-fnmut-and-fnonce.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-fn-as-fnmut-and-fnonce.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-fnmut-as-fn.rs b/tests/ui/unboxed-closures/unboxed-closures-fnmut-as-fn.rs
index 867e5fb1d..867e5fb1d 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-fnmut-as-fn.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-fnmut-as-fn.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-fnmut-as-fn.stderr b/tests/ui/unboxed-closures/unboxed-closures-fnmut-as-fn.stderr
index 0ea1c1dcd..0ea1c1dcd 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-fnmut-as-fn.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-fnmut-as-fn.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-fnmut-as-fnonce.rs b/tests/ui/unboxed-closures/unboxed-closures-fnmut-as-fnonce.rs
index bd577f7c4..bd577f7c4 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-fnmut-as-fnonce.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-fnmut-as-fnonce.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-generic.rs b/tests/ui/unboxed-closures/unboxed-closures-generic.rs
index 740b8b2a7..740b8b2a7 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-generic.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-generic.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-bound.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-bound.rs
index e0c910576..e0c910576 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-bound.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-bound.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-object-type.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-object-type.rs
index d2eaee304..d2eaee304 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-object-type.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-arg-types-from-expected-object-type.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-arg-types-w-bound-regs-from-expected-bound.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-arg-types-w-bound-regs-from-expected-bound.rs
index c3abdd8aa..c3abdd8aa 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-arg-types-w-bound-regs-from-expected-bound.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-arg-types-w-bound-regs-from-expected-bound.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.rs
index 6765da421..6765da421 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.stderr b/tests/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.stderr
index e97157b83..e97157b83 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-argument-types-two-region-pointers.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-explicit-call-early.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-explicit-call-early.rs
index 9135c82b4..9135c82b4 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-explicit-call-early.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-explicit-call-early.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fn-once-move-from-projection.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-fn-once-move-from-projection.rs
index 6e404c616..6e404c616 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fn-once-move-from-projection.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fn-once-move-from-projection.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fn-once-move-from-projection.stderr b/tests/ui/unboxed-closures/unboxed-closures-infer-fn-once-move-from-projection.stderr
index 635ebbb71..635ebbb71 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fn-once-move-from-projection.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fn-once-move-from-projection.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.rs
index 6401b5e01..6401b5e01 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.stderr b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.stderr
index a0ed56d4b..5c93ed6d7 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.stderr
@@ -12,13 +12,16 @@ LL | tick1();
error[E0596]: cannot borrow `tick2` as mutable, as it is not declared as mutable
--> $DIR/unboxed-closures-infer-fnmut-calling-fnmut-no-mut.rs:19:5
|
-LL | let tick2 = || {
- | ----- help: consider changing this to be mutable: `mut tick2`
LL | tick1();
| ----- calling `tick2` requires mutable binding due to mutable borrow of `tick1`
...
LL | tick2();
| ^^^^^ cannot borrow as mutable
+ |
+help: consider changing this to be mutable
+ |
+LL | let mut tick2 = || {
+ | +++
error: aborting due to 2 previous errors
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut.rs
index 73f488a4f..73f488a4f 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-calling-fnmut.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-missing-mut.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-missing-mut.rs
index 5c0ceb23d..5c0ceb23d 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-missing-mut.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-missing-mut.rs
diff --git a/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-missing-mut.stderr b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-missing-mut.stderr
new file mode 100644
index 000000000..3f539c42d
--- /dev/null
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-missing-mut.stderr
@@ -0,0 +1,16 @@
+error[E0596]: cannot borrow `tick` as mutable, as it is not declared as mutable
+ --> $DIR/unboxed-closures-infer-fnmut-missing-mut.rs:7:5
+ |
+LL | let tick = || counter += 1;
+ | ------- calling `tick` requires mutable binding due to mutable borrow of `counter`
+LL | tick();
+ | ^^^^ cannot borrow as mutable
+ |
+help: consider changing this to be mutable
+ |
+LL | let mut tick = || counter += 1;
+ | +++
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0596`.
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-move-missing-mut.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-move-missing-mut.rs
index 144a674ac..144a674ac 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-move-missing-mut.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-move-missing-mut.rs
diff --git a/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-move-missing-mut.stderr b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-move-missing-mut.stderr
new file mode 100644
index 000000000..e3b19297b
--- /dev/null
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-move-missing-mut.stderr
@@ -0,0 +1,16 @@
+error[E0596]: cannot borrow `tick` as mutable, as it is not declared as mutable
+ --> $DIR/unboxed-closures-infer-fnmut-move-missing-mut.rs:7:5
+ |
+LL | let tick = move || counter += 1;
+ | ------- calling `tick` requires mutable binding due to possible mutation of `counter`
+LL | tick();
+ | ^^^^ cannot borrow as mutable
+ |
+help: consider changing this to be mutable
+ |
+LL | let mut tick = move || counter += 1;
+ | +++
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0596`.
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-move.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-move.rs
index 7ac1ae30f..7ac1ae30f 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut-move.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut-move.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut.rs
index 0fbb504c2..0fbb504c2 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnmut.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fnmut.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.rs
index a98a01ca5..a98a01ca5 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.stderr b/tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.stderr
index ab6f06518..ab6f06518 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-call-twice.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.rs
index f87be4a06..f87be4a06 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.stderr b/tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.stderr
index 8d70a2b17..8d70a2b17 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-move-call-twice.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-move.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-move.rs
index 6381386c4..6381386c4 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce-move.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fnonce-move.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-fnonce.rs
index 3c8ea7d85..3c8ea7d85 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-fnonce.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-fnonce.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-kind.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-kind.rs
index fc01bd9b6..fc01bd9b6 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-kind.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-kind.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-recursive-fn.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-recursive-fn.rs
index a0fbbafe2..a0fbbafe2 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-recursive-fn.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-recursive-fn.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-infer-upvar.rs b/tests/ui/unboxed-closures/unboxed-closures-infer-upvar.rs
index 6a5e5b9c2..6a5e5b9c2 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-infer-upvar.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-infer-upvar.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-manual-impl.rs b/tests/ui/unboxed-closures/unboxed-closures-manual-impl.rs
index df60b42ab..df60b42ab 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-manual-impl.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-manual-impl.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-monomorphization.rs b/tests/ui/unboxed-closures/unboxed-closures-monomorphization.rs
index 2df360d4a..2df360d4a 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-monomorphization.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-monomorphization.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-move-from-projection-issue-30046.rs b/tests/ui/unboxed-closures/unboxed-closures-move-from-projection-issue-30046.rs
index 4388e6bcf..4388e6bcf 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-move-from-projection-issue-30046.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-move-from-projection-issue-30046.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-move-mutable.rs b/tests/ui/unboxed-closures/unboxed-closures-move-mutable.rs
index 470904fd3..470904fd3 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-move-mutable.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-move-mutable.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-move-mutable.stderr b/tests/ui/unboxed-closures/unboxed-closures-move-mutable.stderr
index 5c06f4e62..5c06f4e62 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-move-mutable.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-move-mutable.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-move-some-upvars-in-by-ref-closure.rs b/tests/ui/unboxed-closures/unboxed-closures-move-some-upvars-in-by-ref-closure.rs
index 2d219643f..2d219643f 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-move-some-upvars-in-by-ref-closure.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-move-some-upvars-in-by-ref-closure.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-mutate-upvar.rs b/tests/ui/unboxed-closures/unboxed-closures-mutate-upvar.rs
index c57312b43..c57312b43 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-mutate-upvar.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-mutate-upvar.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-mutate-upvar.stderr b/tests/ui/unboxed-closures/unboxed-closures-mutate-upvar.stderr
index 26f97b519..26f97b519 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-mutate-upvar.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-mutate-upvar.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-mutated-upvar-from-fn-closure.rs b/tests/ui/unboxed-closures/unboxed-closures-mutated-upvar-from-fn-closure.rs
index 174ad245d..174ad245d 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-mutated-upvar-from-fn-closure.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-mutated-upvar-from-fn-closure.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-mutated-upvar-from-fn-closure.stderr b/tests/ui/unboxed-closures/unboxed-closures-mutated-upvar-from-fn-closure.stderr
index 7d15cd0c8..7d15cd0c8 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-mutated-upvar-from-fn-closure.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-mutated-upvar-from-fn-closure.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-prelude.rs b/tests/ui/unboxed-closures/unboxed-closures-prelude.rs
index 89a273b7a..89a273b7a 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-prelude.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-prelude.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-recursive-fn-using-fn-mut.rs b/tests/ui/unboxed-closures/unboxed-closures-recursive-fn-using-fn-mut.rs
index 5e354cb6f..5e354cb6f 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-recursive-fn-using-fn-mut.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-recursive-fn-using-fn-mut.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-recursive-fn-using-fn-mut.stderr b/tests/ui/unboxed-closures/unboxed-closures-recursive-fn-using-fn-mut.stderr
index 830f6bc99..830f6bc99 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-recursive-fn-using-fn-mut.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-recursive-fn-using-fn-mut.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-simple.rs b/tests/ui/unboxed-closures/unboxed-closures-simple.rs
index 144955402..144955402 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-simple.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-simple.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-single-word-env.rs b/tests/ui/unboxed-closures/unboxed-closures-single-word-env.rs
index 8ada7494e..8ada7494e 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-single-word-env.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-single-word-env.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-static-call-fn-once.rs b/tests/ui/unboxed-closures/unboxed-closures-static-call-fn-once.rs
index 054f284ea..054f284ea 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-static-call-fn-once.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-static-call-fn-once.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-static-call-wrong-trait.rs b/tests/ui/unboxed-closures/unboxed-closures-static-call-wrong-trait.rs
index 7289d9322..7289d9322 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-static-call-wrong-trait.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-static-call-wrong-trait.rs
diff --git a/tests/ui/unboxed-closures/unboxed-closures-static-call-wrong-trait.stderr b/tests/ui/unboxed-closures/unboxed-closures-static-call-wrong-trait.stderr
new file mode 100644
index 000000000..99ec51783
--- /dev/null
+++ b/tests/ui/unboxed-closures/unboxed-closures-static-call-wrong-trait.stderr
@@ -0,0 +1,9 @@
+error[E0599]: no method named `call` found for closure `[closure@unboxed-closures-static-call-wrong-trait.rs:6:26]` in the current scope
+ --> $DIR/unboxed-closures-static-call-wrong-trait.rs:7:10
+ |
+LL | mut_.call((0, ));
+ | ^^^^ method not found in `[closure@unboxed-closures-static-call-wrong-trait.rs:6:26]`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0599`.
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-sugar-object.rs b/tests/ui/unboxed-closures/unboxed-closures-sugar-object.rs
index 1ca25517c..1ca25517c 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-sugar-object.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-sugar-object.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-type-mismatch.rs b/tests/ui/unboxed-closures/unboxed-closures-type-mismatch.rs
index 9f76849e5..9f76849e5 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-type-mismatch.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-type-mismatch.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-type-mismatch.stderr b/tests/ui/unboxed-closures/unboxed-closures-type-mismatch.stderr
index 455f83f57..455f83f57 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-type-mismatch.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-type-mismatch.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-unique-type-id.rs b/tests/ui/unboxed-closures/unboxed-closures-unique-type-id.rs
index 4b7016def..4b7016def 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-unique-type-id.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-unique-type-id.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-unsafe-extern-fn.rs b/tests/ui/unboxed-closures/unboxed-closures-unsafe-extern-fn.rs
index e2082d4f7..e2082d4f7 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-unsafe-extern-fn.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-unsafe-extern-fn.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-unsafe-extern-fn.stderr b/tests/ui/unboxed-closures/unboxed-closures-unsafe-extern-fn.stderr
index 802696e1b..802696e1b 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-unsafe-extern-fn.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-unsafe-extern-fn.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-wrong-abi.rs b/tests/ui/unboxed-closures/unboxed-closures-wrong-abi.rs
index dd76c597d..dd76c597d 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-wrong-abi.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-wrong-abi.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-wrong-abi.stderr b/tests/ui/unboxed-closures/unboxed-closures-wrong-abi.stderr
index 0bbb9836c..0bbb9836c 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-wrong-abi.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-wrong-abi.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-wrong-arg-type-extern-fn.rs b/tests/ui/unboxed-closures/unboxed-closures-wrong-arg-type-extern-fn.rs
index 02e8b7b47..02e8b7b47 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-wrong-arg-type-extern-fn.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-wrong-arg-type-extern-fn.rs
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-wrong-arg-type-extern-fn.stderr b/tests/ui/unboxed-closures/unboxed-closures-wrong-arg-type-extern-fn.stderr
index 31a66790c..31a66790c 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-wrong-arg-type-extern-fn.stderr
+++ b/tests/ui/unboxed-closures/unboxed-closures-wrong-arg-type-extern-fn.stderr
diff --git a/src/test/ui/unboxed-closures/unboxed-closures-zero-args.rs b/tests/ui/unboxed-closures/unboxed-closures-zero-args.rs
index 6f41c3558..6f41c3558 100644
--- a/src/test/ui/unboxed-closures/unboxed-closures-zero-args.rs
+++ b/tests/ui/unboxed-closures/unboxed-closures-zero-args.rs