diff --git a/tests/ui/expr/if/if-let-missing-else-clause.rs b/tests/ui/expr/if/if-let-missing-else-clause.rs new file mode 100644 index 0000000000000..ca4912e6d528d --- /dev/null +++ b/tests/ui/expr/if/if-let-missing-else-clause.rs @@ -0,0 +1,13 @@ +//! Regression test for . +//! +//! Test if the sugared `if let` construct correctly prints "missing an else clause" when an else +//! clause does not exist, instead of the unsympathetic "`match` arms have incompatible types" + +//@ dont-require-annotations: NOTE + +fn main() { + if let Some(homura) = Some("madoka") { //~ ERROR missing an `else` clause + //~| NOTE expected integer, found `()` + 765 + }; +} diff --git a/tests/ui/issues/issue-19991.stderr b/tests/ui/expr/if/if-let-missing-else-clause.stderr similarity index 91% rename from tests/ui/issues/issue-19991.stderr rename to tests/ui/expr/if/if-let-missing-else-clause.stderr index 1449bab514200..b19078639329a 100644 --- a/tests/ui/issues/issue-19991.stderr +++ b/tests/ui/expr/if/if-let-missing-else-clause.stderr @@ -1,5 +1,5 @@ error[E0317]: `if` may be missing an `else` clause - --> $DIR/issue-19991.rs:7:5 + --> $DIR/if-let-missing-else-clause.rs:9:5 | LL | / if let Some(homura) = Some("madoka") { LL | | diff --git a/tests/ui/issues/issue-20313-rpass.rs b/tests/ui/feature-gates/link-llvm-intrinsics-enabled.rs similarity index 74% rename from tests/ui/issues/issue-20313-rpass.rs rename to tests/ui/feature-gates/link-llvm-intrinsics-enabled.rs index a9cd0cbd88ed4..9118950d568fd 100644 --- a/tests/ui/issues/issue-20313-rpass.rs +++ b/tests/ui/feature-gates/link-llvm-intrinsics-enabled.rs @@ -1,3 +1,5 @@ +//! . + //@ run-pass #![allow(dead_code)] #![feature(link_llvm_intrinsics)] diff --git a/tests/ui/issues/issue-20313.rs b/tests/ui/feature-gates/link-llvm-intrinsics-no-gate.rs similarity index 72% rename from tests/ui/issues/issue-20313.rs rename to tests/ui/feature-gates/link-llvm-intrinsics-no-gate.rs index a72af650c7071..2b50e16b8914b 100644 --- a/tests/ui/issues/issue-20313.rs +++ b/tests/ui/feature-gates/link-llvm-intrinsics-no-gate.rs @@ -1,3 +1,5 @@ +//! . + extern "C" { #[link_name = "llvm.sqrt.f32"] fn sqrt(x: f32) -> f32; //~ ERROR linking to LLVM intrinsics is experimental diff --git a/tests/ui/issues/issue-20313.stderr b/tests/ui/feature-gates/link-llvm-intrinsics-no-gate.stderr similarity index 91% rename from tests/ui/issues/issue-20313.stderr rename to tests/ui/feature-gates/link-llvm-intrinsics-no-gate.stderr index a61495440f0fa..26e756fd9d260 100644 --- a/tests/ui/issues/issue-20313.stderr +++ b/tests/ui/feature-gates/link-llvm-intrinsics-no-gate.stderr @@ -1,5 +1,5 @@ error[E0658]: linking to LLVM intrinsics is experimental - --> $DIR/issue-20313.rs:3:5 + --> $DIR/link-llvm-intrinsics-no-gate.rs:5:5 | LL | fn sqrt(x: f32) -> f32; | ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/ui/issues/issue-20225.rs b/tests/ui/fn_traits/fn-impl-mismatched-param-type.rs similarity index 87% rename from tests/ui/issues/issue-20225.rs rename to tests/ui/fn_traits/fn-impl-mismatched-param-type.rs index 0c8e6e402e2ce..87f1279320f44 100644 --- a/tests/ui/issues/issue-20225.rs +++ b/tests/ui/fn_traits/fn-impl-mismatched-param-type.rs @@ -1,3 +1,5 @@ +//! Regression test for . + #![feature(fn_traits, unboxed_closures)] struct Foo; diff --git a/tests/ui/issues/issue-20225.stderr b/tests/ui/fn_traits/fn-impl-mismatched-param-type.stderr similarity index 93% rename from tests/ui/issues/issue-20225.stderr rename to tests/ui/fn_traits/fn-impl-mismatched-param-type.stderr index 775f23dd7e623..b7aa3d29f0d7d 100644 --- a/tests/ui/issues/issue-20225.stderr +++ b/tests/ui/fn_traits/fn-impl-mismatched-param-type.stderr @@ -1,5 +1,5 @@ error[E0053]: method `call` has an incompatible type for trait - --> $DIR/issue-20225.rs:6:43 + --> $DIR/fn-impl-mismatched-param-type.rs:8:43 | LL | impl<'a, T> Fn<(&'a T,)> for Foo { | - found this type parameter @@ -14,7 +14,7 @@ LL | extern "rust-call" fn call(&self, (_,): (&'a T,)) {} | +++ error[E0053]: method `call_mut` has an incompatible type for trait - --> $DIR/issue-20225.rs:11:51 + --> $DIR/fn-impl-mismatched-param-type.rs:13:51 | LL | impl<'a, T> FnMut<(&'a T,)> for Foo { | - found this type parameter @@ -29,7 +29,7 @@ LL | extern "rust-call" fn call_mut(&mut self, (_,): (&'a T,)) {} | +++ error[E0053]: method `call_once` has an incompatible type for trait - --> $DIR/issue-20225.rs:18:47 + --> $DIR/fn-impl-mismatched-param-type.rs:20:47 | LL | impl<'a, T> FnOnce<(&'a T,)> for Foo { | - found this type parameter diff --git a/tests/ui/issues/issue-20261.rs b/tests/ui/inference/need_type_info/for-loop-ref-pattern-inference.rs similarity index 71% rename from tests/ui/issues/issue-20261.rs rename to tests/ui/inference/need_type_info/for-loop-ref-pattern-inference.rs index 528393606f380..0c5b6b706ef63 100644 --- a/tests/ui/issues/issue-20261.rs +++ b/tests/ui/inference/need_type_info/for-loop-ref-pattern-inference.rs @@ -1,3 +1,5 @@ +//! Regression test for . + fn main() { // N.B., this (almost) typechecks when default binding modes are enabled. for (ref i,) in [].iter() { diff --git a/tests/ui/issues/issue-20261.stderr b/tests/ui/inference/need_type_info/for-loop-ref-pattern-inference.stderr similarity index 81% rename from tests/ui/issues/issue-20261.stderr rename to tests/ui/inference/need_type_info/for-loop-ref-pattern-inference.stderr index c5348abb3c501..074db2e6976a1 100644 --- a/tests/ui/issues/issue-20261.stderr +++ b/tests/ui/inference/need_type_info/for-loop-ref-pattern-inference.stderr @@ -1,5 +1,5 @@ error[E0282]: type annotations needed - --> $DIR/issue-20261.rs:4:9 + --> $DIR/for-loop-ref-pattern-inference.rs:6:9 | LL | i.clone(); | ^ cannot infer type diff --git a/tests/ui/issues/issue-19991.rs b/tests/ui/issues/issue-19991.rs deleted file mode 100644 index cb558b5869700..0000000000000 --- a/tests/ui/issues/issue-19991.rs +++ /dev/null @@ -1,11 +0,0 @@ -// Test if the sugared `if let` construct correctly prints "missing an else clause" when an else -// clause does not exist, instead of the unsympathetic "`match` arms have incompatible types" - -//@ dont-require-annotations: NOTE - -fn main() { - if let Some(homura) = Some("madoka") { //~ ERROR missing an `else` clause - //~| NOTE expected integer, found `()` - 765 - }; -} diff --git a/tests/ui/issues/issue-20414.rs b/tests/ui/methods/calling-conventions-with-where-clause-ref-bound.rs similarity index 62% rename from tests/ui/issues/issue-20414.rs rename to tests/ui/methods/calling-conventions-with-where-clause-ref-bound.rs index 070e0f451a57b..b5dc8b4e41aa0 100644 --- a/tests/ui/issues/issue-20414.rs +++ b/tests/ui/methods/calling-conventions-with-where-clause-ref-bound.rs @@ -1,3 +1,8 @@ +//! Regression test for . +//! +//! Test both UFCS and dot syntax should work for trait methods when the +//! impl has a where-clause bound on a reference type. + //@ check-pass #![allow(dead_code)] diff --git a/tests/ui/issues/issue-20186.rs b/tests/ui/methods/method-call-in-iter-str-bytes.rs similarity index 76% rename from tests/ui/issues/issue-20186.rs rename to tests/ui/methods/method-call-in-iter-str-bytes.rs index 79dad71844f6e..1049c40fb5db2 100644 --- a/tests/ui/issues/issue-20186.rs +++ b/tests/ui/methods/method-call-in-iter-str-bytes.rs @@ -1,3 +1,5 @@ +//! Regression test for . + //@ check-pass #![allow(dead_code)] #![allow(unused_variables)] diff --git a/tests/ui/issues/issue-21361.rs b/tests/ui/traits/object/iterator-methods-on-boxed-trait-object.rs similarity index 79% rename from tests/ui/issues/issue-21361.rs rename to tests/ui/traits/object/iterator-methods-on-boxed-trait-object.rs index 6f0bafc3b1b07..f7a49f611e10a 100644 --- a/tests/ui/issues/issue-21361.rs +++ b/tests/ui/traits/object/iterator-methods-on-boxed-trait-object.rs @@ -1,3 +1,4 @@ +//! Regression test for . //@ run-pass fn main() { diff --git a/tests/ui/issues/issue-20396.rs b/tests/ui/traits/object/trait-object-with-nested-generics.rs similarity index 71% rename from tests/ui/issues/issue-20396.rs rename to tests/ui/traits/object/trait-object-with-nested-generics.rs index 4a7b57903b5ae..37b3d8b8fbcee 100644 --- a/tests/ui/issues/issue-20396.rs +++ b/tests/ui/traits/object/trait-object-with-nested-generics.rs @@ -1,3 +1,4 @@ +//! Regression test for . //@ check-pass #![allow(dead_code)] diff --git a/tests/ui/issues/issue-20433.rs b/tests/ui/unsized/vec-of-unsized-type.rs similarity index 60% rename from tests/ui/issues/issue-20433.rs rename to tests/ui/unsized/vec-of-unsized-type.rs index a663239ccab81..19df0a7039f05 100644 --- a/tests/ui/issues/issue-20433.rs +++ b/tests/ui/unsized/vec-of-unsized-type.rs @@ -1,3 +1,5 @@ +//! Regression test for . + fn main() {} struct The; diff --git a/tests/ui/issues/issue-20433.stderr b/tests/ui/unsized/vec-of-unsized-type.stderr similarity index 92% rename from tests/ui/issues/issue-20433.stderr rename to tests/ui/unsized/vec-of-unsized-type.stderr index 3730a67cc7959..414f945e4ad11 100644 --- a/tests/ui/issues/issue-20433.stderr +++ b/tests/ui/unsized/vec-of-unsized-type.stderr @@ -1,5 +1,5 @@ error[E0277]: the size for values of type `[i32]` cannot be known at compilation time - --> $DIR/issue-20433.rs:6:18 + --> $DIR/vec-of-unsized-type.rs:8:18 | LL | fn iceman(c: Vec<[i32]>) {} | ^^^^^^^^^^ doesn't have a size known at compile-time