diff --git a/tests/ui/issues/issue-18188.rs b/tests/ui/closures/boxed-closure-captures-fnmut-with-ref.rs similarity index 88% rename from tests/ui/issues/issue-18188.rs rename to tests/ui/closures/boxed-closure-captures-fnmut-with-ref.rs index b3b008229a53a..6f2c38843d754 100644 --- a/tests/ui/issues/issue-18188.rs +++ b/tests/ui/closures/boxed-closure-captures-fnmut-with-ref.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/18188 + //@ check-pass pub trait Promisable: Send + Sync {} diff --git a/tests/ui/issues/issue-3609.rs b/tests/ui/closures/boxed-closure-sent-through-thread.rs similarity index 90% rename from tests/ui/issues/issue-3609.rs rename to tests/ui/closures/boxed-closure-sent-through-thread.rs index a226e5b01362a..14320e0c4ab3c 100644 --- a/tests/ui/issues/issue-3609.rs +++ b/tests/ui/closures/boxed-closure-sent-through-thread.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/3609 + //@ check-pass #![allow(unused_must_use)] #![allow(dead_code)] diff --git a/tests/ui/issues/issue-3424.rs b/tests/ui/closures/boxed-closure-with-borrowed-param.rs similarity index 84% rename from tests/ui/issues/issue-3424.rs rename to tests/ui/closures/boxed-closure-with-borrowed-param.rs index 4d1a652142032..2d8dd4d800b85 100644 --- a/tests/ui/issues/issue-3424.rs +++ b/tests/ui/closures/boxed-closure-with-borrowed-param.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/3424 + //@ check-pass #![allow(dead_code)] #![allow(non_camel_case_types)] diff --git a/tests/ui/issues/issue-20575.rs b/tests/ui/closures/call-boxed-closure-no-args.rs similarity index 76% rename from tests/ui/issues/issue-20575.rs rename to tests/ui/closures/call-boxed-closure-no-args.rs index b213b79d37cab..bf6b73ee6fd57 100644 --- a/tests/ui/issues/issue-20575.rs +++ b/tests/ui/closures/call-boxed-closure-no-args.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/20575 + //@ run-pass // Test that overloaded calls work with zero arity closures diff --git a/tests/ui/issues/issue-17816.rs b/tests/ui/closures/call-closure-through-lifetime-generic-struct.rs similarity index 81% rename from tests/ui/issues/issue-17816.rs rename to tests/ui/closures/call-closure-through-lifetime-generic-struct.rs index da28a14685f6c..aa2180e3c7f09 100644 --- a/tests/ui/issues/issue-17816.rs +++ b/tests/ui/closures/call-closure-through-lifetime-generic-struct.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/17816 + //@ run-pass #![allow(unused_variables)] use std::marker::PhantomData; diff --git a/tests/ui/issues/issue-32389.rs b/tests/ui/closures/call-fnmut-trait-object-via-ref-mut.rs similarity index 69% rename from tests/ui/issues/issue-32389.rs rename to tests/ui/closures/call-fnmut-trait-object-via-ref-mut.rs index 683c4874e8c20..2f1d29f77f27c 100644 --- a/tests/ui/issues/issue-32389.rs +++ b/tests/ui/closures/call-fnmut-trait-object-via-ref-mut.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/32389 + //@ run-pass fn foo() -> T { loop {} } diff --git a/tests/ui/issues/issue-34349.rs b/tests/ui/closures/closure-kind-caching-during-upvar-inference.rs similarity index 91% rename from tests/ui/issues/issue-34349.rs rename to tests/ui/closures/closure-kind-caching-during-upvar-inference.rs index d861802610aac..e24e23d49d555 100644 --- a/tests/ui/issues/issue-34349.rs +++ b/tests/ui/closures/closure-kind-caching-during-upvar-inference.rs @@ -1,3 +1,5 @@ +//! Issue: https://github.com/rust-lang/rust/issues/34349 + // This is a regression test for a problem encountered around upvar // inference and trait caching: in particular, we were entering a // temporary closure kind during inference, and then caching results diff --git a/tests/ui/issues/issue-34349.stderr b/tests/ui/closures/closure-kind-caching-during-upvar-inference.stderr similarity index 85% rename from tests/ui/issues/issue-34349.stderr rename to tests/ui/closures/closure-kind-caching-during-upvar-inference.stderr index 6a6188f10c8f8..291ad5960bc21 100644 --- a/tests/ui/issues/issue-34349.stderr +++ b/tests/ui/closures/closure-kind-caching-during-upvar-inference.stderr @@ -1,5 +1,5 @@ error[E0525]: expected a closure that implements the `Fn` trait, but this closure only implements `FnMut` - --> $DIR/issue-34349.rs:16:17 + --> $DIR/closure-kind-caching-during-upvar-inference.rs:18:17 | LL | let diary = || { | ^^ this closure implements `FnMut`, not `Fn` @@ -12,7 +12,7 @@ LL | apply(diary); | required by a bound introduced by this call | note: required by a bound in `apply` - --> $DIR/issue-34349.rs:11:32 + --> $DIR/closure-kind-caching-during-upvar-inference.rs:13:32 | LL | fn apply(f: F) where F: Fn() { | ^^^^ required by this bound in `apply` diff --git a/tests/ui/issues/issue-40000.rs b/tests/ui/closures/closure-to-fn-pointer-lifetime-error.rs similarity index 75% rename from tests/ui/issues/issue-40000.rs rename to tests/ui/closures/closure-to-fn-pointer-lifetime-error.rs index a6e05e7ba02a3..74d5470f89665 100644 --- a/tests/ui/issues/issue-40000.rs +++ b/tests/ui/closures/closure-to-fn-pointer-lifetime-error.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/40000 + fn main() { let bar: fn(&mut u32) = |_| {}; diff --git a/tests/ui/issues/issue-40000.stderr b/tests/ui/closures/closure-to-fn-pointer-lifetime-error.stderr similarity index 85% rename from tests/ui/issues/issue-40000.stderr rename to tests/ui/closures/closure-to-fn-pointer-lifetime-error.stderr index 0737a9610e294..7466751e43b51 100644 --- a/tests/ui/issues/issue-40000.stderr +++ b/tests/ui/closures/closure-to-fn-pointer-lifetime-error.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched types - --> $DIR/issue-40000.rs:6:9 + --> $DIR/closure-to-fn-pointer-lifetime-error.rs:8:9 | LL | foo(bar); | ^^^ one type is more general than the other @@ -8,7 +8,7 @@ LL | foo(bar); found trait object `dyn Fn(&i32)` error[E0308]: mismatched types - --> $DIR/issue-40000.rs:6:9 + --> $DIR/closure-to-fn-pointer-lifetime-error.rs:8:9 | LL | foo(bar); | ^^^ one type is more general than the other diff --git a/tests/ui/issues/issue-28181.rs b/tests/ui/closures/closure-with-fixed-size-array-param.rs similarity index 62% rename from tests/ui/issues/issue-28181.rs rename to tests/ui/closures/closure-with-fixed-size-array-param.rs index e1cb5ba1c8828..f12df2e5f628a 100644 --- a/tests/ui/issues/issue-28181.rs +++ b/tests/ui/closures/closure-with-fixed-size-array-param.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/28181 + //@ run-pass fn bar(f: F) -> usize where F: Fn([usize; 1]) -> usize { f([2]) } diff --git a/tests/ui/issues/issue-26484.rs b/tests/ui/closures/debug-info-for-closure-capture.rs similarity index 68% rename from tests/ui/issues/issue-26484.rs rename to tests/ui/closures/debug-info-for-closure-capture.rs index c7053505567ab..2a8db27bda805 100644 --- a/tests/ui/issues/issue-26484.rs +++ b/tests/ui/closures/debug-info-for-closure-capture.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/26484 + //@ run-pass //@ compile-flags:-g diff --git a/tests/ui/issues/issue-20174.rs b/tests/ui/closures/destructure-newtype-closure.rs similarity index 68% rename from tests/ui/issues/issue-20174.rs rename to tests/ui/closures/destructure-newtype-closure.rs index 7b49fe8c7b472..f8543e64cb353 100644 --- a/tests/ui/issues/issue-20174.rs +++ b/tests/ui/closures/destructure-newtype-closure.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/20174 + //@ run-pass struct GradFn usize>(F); diff --git a/tests/ui/issues/issue-36260.rs b/tests/ui/closures/drop-glue-for-closure-with-captures.rs similarity index 81% rename from tests/ui/issues/issue-36260.rs rename to tests/ui/closures/drop-glue-for-closure-with-captures.rs index 265b0d2f80217..2ccf4c31a995e 100644 --- a/tests/ui/issues/issue-36260.rs +++ b/tests/ui/closures/drop-glue-for-closure-with-captures.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/36260 + //@ run-pass // Make sure this compiles without getting a linker error because of missing // drop-glue because the collector missed adding drop-glue for the closure: diff --git a/tests/ui/issues/issue-22346.rs b/tests/ui/closures/explicit-return-in-closure-and-outer-fn.rs similarity index 77% rename from tests/ui/issues/issue-22346.rs rename to tests/ui/closures/explicit-return-in-closure-and-outer-fn.rs index 710dc0acda7e9..74e0ea345dd62 100644 --- a/tests/ui/issues/issue-22346.rs +++ b/tests/ui/closures/explicit-return-in-closure-and-outer-fn.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/22346 + //@ run-pass #![allow(dead_code)] diff --git a/tests/ui/issues/issue-17897.rs b/tests/ui/closures/fn-sugar-in-boxed-trait-object.rs similarity index 68% rename from tests/ui/issues/issue-17897.rs rename to tests/ui/closures/fn-sugar-in-boxed-trait-object.rs index dbb560a199bf7..8f475057f376d 100644 --- a/tests/ui/issues/issue-17897.rs +++ b/tests/ui/closures/fn-sugar-in-boxed-trait-object.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/17897 + //@ run-pass fn action(mut cb: Box usize>) -> usize { cb(1) diff --git a/tests/ui/issues/issue-23046.rs b/tests/ui/closures/hrtb-closure-in-recursive-enum-type-error.rs similarity index 88% rename from tests/ui/issues/issue-23046.rs rename to tests/ui/closures/hrtb-closure-in-recursive-enum-type-error.rs index a68369616d8b6..e66603a1f7dc6 100644 --- a/tests/ui/issues/issue-23046.rs +++ b/tests/ui/closures/hrtb-closure-in-recursive-enum-type-error.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/23046 + pub enum Expr<'var, VAR> { Let(Box>, Box Fn(Expr<'v, VAR>) -> Expr<'v, VAR> + 'var>) diff --git a/tests/ui/issues/issue-23046.stderr b/tests/ui/closures/hrtb-closure-in-recursive-enum-type-error.stderr similarity index 87% rename from tests/ui/issues/issue-23046.stderr rename to tests/ui/closures/hrtb-closure-in-recursive-enum-type-error.stderr index f70ac0c9f388a..56ebb0a339a50 100644 --- a/tests/ui/issues/issue-23046.stderr +++ b/tests/ui/closures/hrtb-closure-in-recursive-enum-type-error.stderr @@ -1,5 +1,5 @@ error[E0282]: type annotations needed for `Expr<'_, _>` - --> $DIR/issue-23046.rs:17:15 + --> $DIR/hrtb-closure-in-recursive-enum-type-error.rs:19:15 | LL | let ex = |x| { | ^ diff --git a/tests/ui/issues/issue-29522.rs b/tests/ui/closures/module-path-not-confused-with-upvar.rs similarity index 80% rename from tests/ui/issues/issue-29522.rs rename to tests/ui/closures/module-path-not-confused-with-upvar.rs index 2a39ef28bdbbc..9eb56bee2f33c 100644 --- a/tests/ui/issues/issue-29522.rs +++ b/tests/ui/closures/module-path-not-confused-with-upvar.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/29522 + //@ run-pass #![allow(unused_variables)] // check that we don't accidentally capture upvars just because their name diff --git a/tests/ui/issues/issue-16668.rs b/tests/ui/closures/move-closure-can-call-captured-fnmut.rs similarity index 87% rename from tests/ui/issues/issue-16668.rs rename to tests/ui/closures/move-closure-can-call-captured-fnmut.rs index 2b2370b0e2b4c..8267dd513417a 100644 --- a/tests/ui/issues/issue-16668.rs +++ b/tests/ui/closures/move-closure-can-call-captured-fnmut.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/16668 + //@ check-pass #![allow(dead_code)] struct Parser<'a, I, O> { diff --git a/tests/ui/issues/issue-16560.rs b/tests/ui/closures/move-closure-is-send.rs similarity index 82% rename from tests/ui/issues/issue-16560.rs rename to tests/ui/closures/move-closure-is-send.rs index d9a7aa9101d3f..ace163a37d839 100644 --- a/tests/ui/issues/issue-16560.rs +++ b/tests/ui/closures/move-closure-is-send.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/16560 + //@ run-pass #![allow(unused_variables)] //@ needs-threads diff --git a/tests/ui/issues/issue-16671.rs b/tests/ui/closures/no-unused-mut-warning-for-move-closure.rs similarity index 68% rename from tests/ui/issues/issue-16671.rs rename to tests/ui/closures/no-unused-mut-warning-for-move-closure.rs index f7f4f4348afab..a8c8aae3bb299 100644 --- a/tests/ui/issues/issue-16671.rs +++ b/tests/ui/closures/no-unused-mut-warning-for-move-closure.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/16671 + //@ run-pass #![deny(warnings)] diff --git a/tests/ui/issues/issue-19127.rs b/tests/ui/closures/pass-lifetime-fn-to-generic-fnonce.rs similarity index 68% rename from tests/ui/issues/issue-19127.rs rename to tests/ui/closures/pass-lifetime-fn-to-generic-fnonce.rs index 2172c631b841d..2da3ac24eb5b0 100644 --- a/tests/ui/issues/issue-19127.rs +++ b/tests/ui/closures/pass-lifetime-fn-to-generic-fnonce.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/19127 + //@ run-pass #![allow(unused_variables)] diff --git a/tests/ui/issues/issue-16994.rs b/tests/ui/closures/ref-binding-lifetime-in-closure-pattern.rs similarity index 72% rename from tests/ui/issues/issue-16994.rs rename to tests/ui/closures/ref-binding-lifetime-in-closure-pattern.rs index fa3988e099945..72648a92decf3 100644 --- a/tests/ui/issues/issue-16994.rs +++ b/tests/ui/closures/ref-binding-lifetime-in-closure-pattern.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/16994 + //@ check-pass fn cb<'a,T>(_x: Box, bool))) -> T>) -> T { diff --git a/tests/ui/issues/issue-46069.rs b/tests/ui/closures/region-obligations-closure-and-projection.rs similarity index 86% rename from tests/ui/issues/issue-46069.rs rename to tests/ui/closures/region-obligations-closure-and-projection.rs index adfb567d7dd32..9010b7c8c6bed 100644 --- a/tests/ui/issues/issue-46069.rs +++ b/tests/ui/closures/region-obligations-closure-and-projection.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/46069 + //@ run-pass use std::iter::{Fuse, Cloned}; use std::slice::Iter; diff --git a/tests/ui/issues/issue-24036.rs b/tests/ui/closures/unique-closure-type-mismatch.rs similarity index 80% rename from tests/ui/issues/issue-24036.rs rename to tests/ui/closures/unique-closure-type-mismatch.rs index 7df036c8e3a45..ee05c9ed77e40 100644 --- a/tests/ui/issues/issue-24036.rs +++ b/tests/ui/closures/unique-closure-type-mismatch.rs @@ -1,3 +1,5 @@ +//! Regression test for https://github.com/rust-lang/rust/issues/24036 + fn closure_to_loc() { let mut x = |c| c + 1; x = |c| c + 1; diff --git a/tests/ui/issues/issue-24036.stderr b/tests/ui/closures/unique-closure-type-mismatch.stderr similarity index 75% rename from tests/ui/issues/issue-24036.stderr rename to tests/ui/closures/unique-closure-type-mismatch.stderr index 184383b736942..3a31b6db4f62b 100644 --- a/tests/ui/issues/issue-24036.stderr +++ b/tests/ui/closures/unique-closure-type-mismatch.stderr @@ -1,18 +1,18 @@ error[E0308]: mismatched types - --> $DIR/issue-24036.rs:3:9 + --> $DIR/unique-closure-type-mismatch.rs:5:9 | LL | let mut x = |c| c + 1; | --- the expected closure LL | x = |c| c + 1; | ^^^^^^^^^ expected closure, found a different closure | - = note: expected closure `{closure@$DIR/issue-24036.rs:2:17: 2:20}` - found closure `{closure@$DIR/issue-24036.rs:3:9: 3:12}` + = note: expected closure `{closure@$DIR/unique-closure-type-mismatch.rs:4:17: 4:20}` + found closure `{closure@$DIR/unique-closure-type-mismatch.rs:5:9: 5:12}` = note: no two closures, even if identical, have the same type = help: consider boxing your closure and/or using it as a trait object error[E0284]: type annotations needed - --> $DIR/issue-24036.rs:9:15 + --> $DIR/unique-closure-type-mismatch.rs:11:15 | LL | 1 => |c| c + 1, | ^ - type must be known at this point