diff --git a/tests/ui/issues/issue-17959.rs b/tests/ui/dropck/drop-impl-sized-bound-mismatch.rs similarity index 78% rename from tests/ui/issues/issue-17959.rs rename to tests/ui/dropck/drop-impl-sized-bound-mismatch.rs index 8bf9e623605ca..c5a0e256d7b7f 100644 --- a/tests/ui/issues/issue-17959.rs +++ b/tests/ui/dropck/drop-impl-sized-bound-mismatch.rs @@ -1,3 +1,5 @@ +//! Regression test for . + extern crate core; use core::ops::Drop; diff --git a/tests/ui/issues/issue-17959.stderr b/tests/ui/dropck/drop-impl-sized-bound-mismatch.stderr similarity index 78% rename from tests/ui/issues/issue-17959.stderr rename to tests/ui/dropck/drop-impl-sized-bound-mismatch.stderr index 604413c4b6d19..b21cc26245ed8 100644 --- a/tests/ui/issues/issue-17959.stderr +++ b/tests/ui/dropck/drop-impl-sized-bound-mismatch.stderr @@ -1,11 +1,11 @@ error[E0367]: `Drop` impl requires `T: Sized` but the struct it is implemented for does not - --> $DIR/issue-17959.rs:11:6 + --> $DIR/drop-impl-sized-bound-mismatch.rs:13:6 | LL | impl Drop for G { | ^ | note: the implementor must specify the same requirement - --> $DIR/issue-17959.rs:7:1 + --> $DIR/drop-impl-sized-bound-mismatch.rs:9:1 | LL | struct G { | ^^^^^^^^^^^^^^^^^^^ diff --git a/tests/ui/issues/issue-17905.rs b/tests/ui/generics/impl-generic-struct-with-concrete-types.rs similarity index 76% rename from tests/ui/issues/issue-17905.rs rename to tests/ui/generics/impl-generic-struct-with-concrete-types.rs index 6238379b5a04b..68a7db69a2bb1 100644 --- a/tests/ui/issues/issue-17905.rs +++ b/tests/ui/generics/impl-generic-struct-with-concrete-types.rs @@ -1,3 +1,5 @@ +//! Regression test for . + //@ run-pass #[derive(Debug)] diff --git a/tests/ui/issues/issue-18183.rs b/tests/ui/generics/type-param-self-reference.rs similarity index 51% rename from tests/ui/issues/issue-18183.rs rename to tests/ui/generics/type-param-self-reference.rs index 64476d1c10999..dd8fead948916 100644 --- a/tests/ui/issues/issue-18183.rs +++ b/tests/ui/generics/type-param-self-reference.rs @@ -1,3 +1,5 @@ +//! Regression test for . + pub struct Foo(Bar); //~ ERROR E0128 pub struct Baz(Foo); fn main() {} diff --git a/tests/ui/issues/issue-18183.stderr b/tests/ui/generics/type-param-self-reference.stderr similarity index 87% rename from tests/ui/issues/issue-18183.stderr rename to tests/ui/generics/type-param-self-reference.stderr index 07fa4cdc7535c..b24f0ee8b67e0 100644 --- a/tests/ui/issues/issue-18183.stderr +++ b/tests/ui/generics/type-param-self-reference.stderr @@ -1,5 +1,5 @@ error[E0128]: generic parameter defaults cannot reference parameters before they are declared - --> $DIR/issue-18183.rs:1:20 + --> $DIR/type-param-self-reference.rs:3:20 | LL | pub struct Foo(Bar); | ^^^ cannot reference `Bar` before it is declared diff --git a/tests/ui/issues/issue-18107.rs b/tests/ui/impl-trait/bare-trait-object-return.rs similarity index 75% rename from tests/ui/issues/issue-18107.rs rename to tests/ui/impl-trait/bare-trait-object-return.rs index b1b6ff4f7ad26..18cafddd6a911 100644 --- a/tests/ui/issues/issue-18107.rs +++ b/tests/ui/impl-trait/bare-trait-object-return.rs @@ -1,3 +1,5 @@ +//! Regression test for . + pub trait AbstractRenderer {} fn _create_render(_: &()) -> diff --git a/tests/ui/issues/issue-18107.stderr b/tests/ui/impl-trait/bare-trait-object-return.stderr similarity index 93% rename from tests/ui/issues/issue-18107.stderr rename to tests/ui/impl-trait/bare-trait-object-return.stderr index 177ef2f1c33f7..0445926e4d4a3 100644 --- a/tests/ui/issues/issue-18107.stderr +++ b/tests/ui/impl-trait/bare-trait-object-return.stderr @@ -1,5 +1,5 @@ error[E0746]: return type cannot be a trait object without pointer indirection - --> $DIR/issue-18107.rs:4:5 + --> $DIR/bare-trait-object-return.rs:6:5 | LL | dyn AbstractRenderer | ^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time diff --git a/tests/ui/issues/issue-18446-2.rs b/tests/ui/issues/issue-18446-2.rs deleted file mode 100644 index d403487c001fb..0000000000000 --- a/tests/ui/issues/issue-18446-2.rs +++ /dev/null @@ -1,13 +0,0 @@ -//@ check-pass -#![allow(dead_code)] -// Test that methods in trait impls should override default methods. - -trait T { - fn foo(&self) -> i32 { 0 } -} - -impl<'a> dyn T + 'a { - fn foo(&self) -> i32 { 1 } -} - -fn main() {} diff --git a/tests/ui/issues/issue-17905-2.rs b/tests/ui/lifetimes/elided-lifetime-mismatch-in-self-type.rs similarity index 80% rename from tests/ui/issues/issue-17905-2.rs rename to tests/ui/lifetimes/elided-lifetime-mismatch-in-self-type.rs index 44279cc867b46..fa634c8447a79 100644 --- a/tests/ui/issues/issue-17905-2.rs +++ b/tests/ui/lifetimes/elided-lifetime-mismatch-in-self-type.rs @@ -1,3 +1,5 @@ +//! Regression test for . + #[derive(Debug)] struct Pair (T, V); diff --git a/tests/ui/issues/issue-17905-2.stderr b/tests/ui/lifetimes/elided-lifetime-mismatch-in-self-type.stderr similarity index 75% rename from tests/ui/issues/issue-17905-2.stderr rename to tests/ui/lifetimes/elided-lifetime-mismatch-in-self-type.stderr index c66cb2224897d..920fe850f0ec7 100644 --- a/tests/ui/issues/issue-17905-2.stderr +++ b/tests/ui/lifetimes/elided-lifetime-mismatch-in-self-type.stderr @@ -1,5 +1,5 @@ error[E0308]: mismatched `self` parameter type - --> $DIR/issue-17905-2.rs:8:18 + --> $DIR/elided-lifetime-mismatch-in-self-type.rs:10:18 | LL | fn say(self: &Pair<&str, isize>) { | ^^^^^^^^^^^^^^^^^^ lifetime mismatch @@ -7,18 +7,18 @@ LL | fn say(self: &Pair<&str, isize>) { = note: expected struct `Pair<&_, _>` found struct `Pair<&_, _>` note: the anonymous lifetime defined here... - --> $DIR/issue-17905-2.rs:8:24 + --> $DIR/elided-lifetime-mismatch-in-self-type.rs:10:24 | LL | fn say(self: &Pair<&str, isize>) { | ^^^^ note: ...does not necessarily outlive the anonymous lifetime as defined here - --> $DIR/issue-17905-2.rs:5:5 + --> $DIR/elided-lifetime-mismatch-in-self-type.rs:7:5 | LL | &str, | ^ error[E0308]: mismatched `self` parameter type - --> $DIR/issue-17905-2.rs:8:18 + --> $DIR/elided-lifetime-mismatch-in-self-type.rs:10:18 | LL | fn say(self: &Pair<&str, isize>) { | ^^^^^^^^^^^^^^^^^^ lifetime mismatch @@ -26,12 +26,12 @@ LL | fn say(self: &Pair<&str, isize>) { = note: expected struct `Pair<&_, _>` found struct `Pair<&_, _>` note: the anonymous lifetime as defined here... - --> $DIR/issue-17905-2.rs:5:5 + --> $DIR/elided-lifetime-mismatch-in-self-type.rs:7:5 | LL | &str, | ^ note: ...does not necessarily outlive the anonymous lifetime defined here - --> $DIR/issue-17905-2.rs:8:24 + --> $DIR/elided-lifetime-mismatch-in-self-type.rs:10:24 | LL | fn say(self: &Pair<&str, isize>) { | ^^^^ diff --git a/tests/ui/issues/issue-18232.rs b/tests/ui/lifetimes/trait-method-lifetime-bounds.rs similarity index 86% rename from tests/ui/issues/issue-18232.rs rename to tests/ui/lifetimes/trait-method-lifetime-bounds.rs index d526a67950cf6..eebdce5b49286 100644 --- a/tests/ui/issues/issue-18232.rs +++ b/tests/ui/lifetimes/trait-method-lifetime-bounds.rs @@ -1,3 +1,5 @@ +//! Regression test for . + //@ run-pass struct Cursor<'a>(::std::marker::PhantomData<&'a ()>); diff --git a/tests/ui/issues/issue-17999.rs b/tests/ui/lint/unused/unused-variables-in-loop.rs similarity index 73% rename from tests/ui/issues/issue-17999.rs rename to tests/ui/lint/unused/unused-variables-in-loop.rs index 941f1e7755afe..c96d2ac5f3fe5 100644 --- a/tests/ui/issues/issue-17999.rs +++ b/tests/ui/lint/unused/unused-variables-in-loop.rs @@ -1,3 +1,5 @@ +//! Regression test for . + #![deny(unused_variables)] fn main() { diff --git a/tests/ui/issues/issue-17999.stderr b/tests/ui/lint/unused/unused-variables-in-loop.stderr similarity index 76% rename from tests/ui/issues/issue-17999.stderr rename to tests/ui/lint/unused/unused-variables-in-loop.stderr index 4a1ef7350b8cb..6c311f03ce508 100644 --- a/tests/ui/issues/issue-17999.stderr +++ b/tests/ui/lint/unused/unused-variables-in-loop.stderr @@ -1,17 +1,17 @@ error: unused variable: `x` - --> $DIR/issue-17999.rs:5:13 + --> $DIR/unused-variables-in-loop.rs:7:13 | LL | let x = (); | ^ help: if this is intentional, prefix it with an underscore: `_x` | note: the lint level is defined here - --> $DIR/issue-17999.rs:1:9 + --> $DIR/unused-variables-in-loop.rs:3:9 | LL | #![deny(unused_variables)] | ^^^^^^^^^^^^^^^^ error: unused variable: `a` - --> $DIR/issue-17999.rs:7:13 + --> $DIR/unused-variables-in-loop.rs:9:13 | LL | a => {} | ^ help: if this is intentional, prefix it with an underscore: `_a` diff --git a/tests/ui/issues/issue-18446.rs b/tests/ui/methods/call-ambig-trait-object-method.rs similarity index 52% rename from tests/ui/issues/issue-18446.rs rename to tests/ui/methods/call-ambig-trait-object-method.rs index a2e238da03a3e..9e2f5c5aebe8b 100644 --- a/tests/ui/issues/issue-18446.rs +++ b/tests/ui/methods/call-ambig-trait-object-method.rs @@ -1,5 +1,6 @@ -// Test that name clashes between the method in an impl for the type -// and the method in the trait when both are in the same scope. +//! Regression test for . +//! Test that name clashes between the method in an impl for the type +//! and the method in the trait when both are in the same scope. trait T { fn foo(&self); diff --git a/tests/ui/issues/issue-18446.stderr b/tests/ui/methods/call-ambig-trait-object-method.stderr similarity index 78% rename from tests/ui/issues/issue-18446.stderr rename to tests/ui/methods/call-ambig-trait-object-method.stderr index 25ae303e902b5..b76f107160011 100644 --- a/tests/ui/issues/issue-18446.stderr +++ b/tests/ui/methods/call-ambig-trait-object-method.stderr @@ -1,16 +1,16 @@ error[E0034]: multiple applicable items in scope - --> $DIR/issue-18446.rs:18:7 + --> $DIR/call-ambig-trait-object-method.rs:19:7 | LL | x.foo(); | ^^^ multiple `foo` found | note: candidate #1 is defined in the trait `T` - --> $DIR/issue-18446.rs:5:5 + --> $DIR/call-ambig-trait-object-method.rs:6:5 | LL | fn foo(&self); | ^^^^^^^^^^^^^^ note: candidate #2 is defined in an impl for the type `(dyn T + 'a)` - --> $DIR/issue-18446.rs:9:5 + --> $DIR/call-ambig-trait-object-method.rs:10:5 | LL | fn foo(&self) {} | ^^^^^^^^^^^^^ diff --git a/tests/ui/methods/inherent-method-on-dyn-with-default.rs b/tests/ui/methods/inherent-method-on-dyn-with-default.rs new file mode 100644 index 0000000000000..cb84da56defad --- /dev/null +++ b/tests/ui/methods/inherent-method-on-dyn-with-default.rs @@ -0,0 +1,16 @@ +//! Regression test for . +//! Tests that an inherent method on a trait object with existing default method +//! doesn't emit a duplicate definition error. + +//@ check-pass +#![allow(dead_code)] + +trait T { + fn foo(&self) -> i32 { 0 } +} + +impl<'a> dyn T + 'a { + fn foo(&self) -> i32 { 1 } +} + +fn main() {} diff --git a/tests/ui/issues/issue-18173.rs b/tests/ui/traits/bound/implicit-assoc-type.rs similarity index 72% rename from tests/ui/issues/issue-18173.rs rename to tests/ui/traits/bound/implicit-assoc-type.rs index a9f20e827fbe3..491516ac6bfae 100644 --- a/tests/ui/issues/issue-18173.rs +++ b/tests/ui/traits/bound/implicit-assoc-type.rs @@ -1,3 +1,5 @@ +//! Regression test for . + //@ check-pass trait Foo { type T;