diff options
Diffstat (limited to 'tests/ui/issues')
52 files changed, 0 insertions, 1131 deletions
diff --git a/tests/ui/issues/auxiliary/issue-56943.rs b/tests/ui/issues/auxiliary/issue-56943.rs deleted file mode 100644 index 65b9beb91f9..00000000000 --- a/tests/ui/issues/auxiliary/issue-56943.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub struct S; -mod m { pub struct S; } -pub use crate::m::S as S2; diff --git a/tests/ui/issues/auxiliary/issue-57271-lib.rs b/tests/ui/issues/auxiliary/issue-57271-lib.rs deleted file mode 100644 index ff625668a9d..00000000000 --- a/tests/ui/issues/auxiliary/issue-57271-lib.rs +++ /dev/null @@ -1,11 +0,0 @@ -#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash)] -pub enum BaseType { - Byte, - Char, - Double, - Float, - Int, - Long, - Short, - Boolean, -} diff --git a/tests/ui/issues/issue-55587.rs b/tests/ui/issues/issue-55587.rs deleted file mode 100644 index d9100cf555b..00000000000 --- a/tests/ui/issues/issue-55587.rs +++ /dev/null @@ -1,5 +0,0 @@ -use std::path::Path; - -fn main() { - let Path::new(); //~ ERROR expected tuple struct or tuple variant -} diff --git a/tests/ui/issues/issue-55587.stderr b/tests/ui/issues/issue-55587.stderr deleted file mode 100644 index 7a5d0e28100..00000000000 --- a/tests/ui/issues/issue-55587.stderr +++ /dev/null @@ -1,11 +0,0 @@ -error[E0164]: expected tuple struct or tuple variant, found associated function `Path::new` - --> $DIR/issue-55587.rs:4:9 - | -LL | let Path::new(); - | ^^^^^^^^^^^ `fn` calls are not allowed in patterns - | - = help: for more information, visit https://doc.rust-lang.org/book/ch19-00-patterns.html - -error: aborting due to 1 previous error - -For more information about this error, try `rustc --explain E0164`. diff --git a/tests/ui/issues/issue-55731.rs b/tests/ui/issues/issue-55731.rs deleted file mode 100644 index 7b4f4e2cd3b..00000000000 --- a/tests/ui/issues/issue-55731.rs +++ /dev/null @@ -1,52 +0,0 @@ -use std::marker::PhantomData; - -trait DistributedIterator { - fn reduce(self) - where - Self: Sized, - { - unreachable!() - } -} - -trait DistributedIteratorMulti<Source> { - type Item; -} - -struct Connect<I>(PhantomData<fn(I)>); -impl<I: for<'a> DistributedIteratorMulti<&'a ()>> DistributedIterator for Connect<I> where {} - -struct Cloned<Source>(PhantomData<fn(Source)>); -impl<'a, Source> DistributedIteratorMulti<&'a Source> for Cloned<&'a Source> { - type Item = (); -} - -struct Map<I, F> { - i: I, - f: F, -} -impl<I: DistributedIteratorMulti<Source>, F, Source> DistributedIteratorMulti<Source> for Map<I, F> -where - F: A<<I as DistributedIteratorMulti<Source>>::Item>, -{ - type Item = (); -} - -trait A<B> {} - -struct X; -impl A<()> for X {} - -fn multi<I>(_reducer: I) -where - I: for<'a> DistributedIteratorMulti<&'a ()>, -{ - DistributedIterator::reduce(Connect::<I>(PhantomData)) -} - -fn main() { - multi(Map { //~ ERROR implementation of `DistributedIteratorMulti` is not general enough - i: Cloned(PhantomData), - f: X, - }); -} diff --git a/tests/ui/issues/issue-55731.stderr b/tests/ui/issues/issue-55731.stderr deleted file mode 100644 index 2c38041642d..00000000000 --- a/tests/ui/issues/issue-55731.stderr +++ /dev/null @@ -1,14 +0,0 @@ -error: implementation of `DistributedIteratorMulti` is not general enough - --> $DIR/issue-55731.rs:48:5 - | -LL | / multi(Map { -LL | | i: Cloned(PhantomData), -LL | | f: X, -LL | | }); - | |______^ implementation of `DistributedIteratorMulti` is not general enough - | - = note: `DistributedIteratorMulti<&'0 ()>` would have to be implemented for the type `Cloned<&()>`, for any lifetime `'0`... - = note: ...but `DistributedIteratorMulti<&'1 ()>` is actually implemented for the type `Cloned<&'1 ()>`, for some specific lifetime `'1` - -error: aborting due to 1 previous error - diff --git a/tests/ui/issues/issue-56128.rs b/tests/ui/issues/issue-56128.rs deleted file mode 100644 index cc170f60250..00000000000 --- a/tests/ui/issues/issue-56128.rs +++ /dev/null @@ -1,15 +0,0 @@ -// Regression test for #56128. When this `pub(super) use...` gets -// exploded in the HIR, we were not handling ids correctly. -// -//@ check-pass - -mod bar { - pub(super) use self::baz::{x, y}; - - mod baz { - pub fn x() { } - pub fn y() { } - } -} - -fn main() { } diff --git a/tests/ui/issues/issue-56175.rs b/tests/ui/issues/issue-56175.rs deleted file mode 100644 index daffe806a90..00000000000 --- a/tests/ui/issues/issue-56175.rs +++ /dev/null @@ -1,9 +0,0 @@ -//@ edition:2018 -//@ aux-crate:reexported_trait=reexported-trait.rs - -fn main() { - reexported_trait::FooStruct.trait_method(); - //~^ ERROR - reexported_trait::FooStruct.trait_method_b(); - //~^ ERROR -} diff --git a/tests/ui/issues/issue-56175.stderr b/tests/ui/issues/issue-56175.stderr deleted file mode 100644 index df4cd6ce8a7..00000000000 --- a/tests/ui/issues/issue-56175.stderr +++ /dev/null @@ -1,46 +0,0 @@ -error[E0599]: no method named `trait_method` found for struct `FooStruct` in the current scope - --> $DIR/issue-56175.rs:5:33 - | -LL | reexported_trait::FooStruct.trait_method(); - | ^^^^^^^^^^^^ - | - ::: $DIR/auxiliary/reexported-trait.rs:3:12 - | -LL | fn trait_method(&self) { - | ------------ the method is available for `FooStruct` here - | - = help: items from traits can only be used if the trait is in scope -help: trait `Trait` which provides `trait_method` is implemented but not in scope; perhaps you want to import it - | -LL + use reexported_trait::Trait; - | -help: there is a method `trait_method_b` with a similar name - | -LL | reexported_trait::FooStruct.trait_method_b(); - | ++ - -error[E0599]: no method named `trait_method_b` found for struct `FooStruct` in the current scope - --> $DIR/issue-56175.rs:7:33 - | -LL | reexported_trait::FooStruct.trait_method_b(); - | ^^^^^^^^^^^^^^ - | - ::: $DIR/auxiliary/reexported-trait.rs:7:12 - | -LL | fn trait_method_b(&self) { - | -------------- the method is available for `FooStruct` here - | - = help: items from traits can only be used if the trait is in scope -help: trait `TraitB` which provides `trait_method_b` is implemented but not in scope; perhaps you want to import it - | -LL + use reexported_trait::TraitBRename; - | -help: there is a method `trait_method` with a similar name - | -LL - reexported_trait::FooStruct.trait_method_b(); -LL + reexported_trait::FooStruct.trait_method(); - | - -error: aborting due to 2 previous errors - -For more information about this error, try `rustc --explain E0599`. diff --git a/tests/ui/issues/issue-56199.rs b/tests/ui/issues/issue-56199.rs deleted file mode 100644 index ba11582a9d5..00000000000 --- a/tests/ui/issues/issue-56199.rs +++ /dev/null @@ -1,22 +0,0 @@ -enum Foo {} -struct Bar {} - -impl Foo { - fn foo() { - let _ = Self; - //~^ ERROR the `Self` constructor can only be used with tuple or unit structs - let _ = Self(); - //~^ ERROR the `Self` constructor can only be used with tuple or unit structs - } -} - -impl Bar { - fn bar() { - let _ = Self; - //~^ ERROR the `Self` constructor can only be used with tuple or unit structs - let _ = Self(); - //~^ ERROR the `Self` constructor can only be used with tuple or unit structs - } -} - -fn main() {} diff --git a/tests/ui/issues/issue-56199.stderr b/tests/ui/issues/issue-56199.stderr deleted file mode 100644 index eb6d7005979..00000000000 --- a/tests/ui/issues/issue-56199.stderr +++ /dev/null @@ -1,30 +0,0 @@ -error: the `Self` constructor can only be used with tuple or unit structs - --> $DIR/issue-56199.rs:6:17 - | -LL | let _ = Self; - | ^^^^ - | - = help: did you mean to use one of the enum's variants? - -error: the `Self` constructor can only be used with tuple or unit structs - --> $DIR/issue-56199.rs:8:17 - | -LL | let _ = Self(); - | ^^^^^^ - | - = help: did you mean to use one of the enum's variants? - -error: the `Self` constructor can only be used with tuple or unit structs - --> $DIR/issue-56199.rs:15:17 - | -LL | let _ = Self; - | ^^^^ help: use curly brackets: `Self { /* fields */ }` - -error: the `Self` constructor can only be used with tuple or unit structs - --> $DIR/issue-56199.rs:17:17 - | -LL | let _ = Self(); - | ^^^^^^ help: use curly brackets: `Self { /* fields */ }` - -error: aborting due to 4 previous errors - diff --git a/tests/ui/issues/issue-56229.rs b/tests/ui/issues/issue-56229.rs deleted file mode 100644 index 1c6dd72ed2d..00000000000 --- a/tests/ui/issues/issue-56229.rs +++ /dev/null @@ -1,35 +0,0 @@ -//@ check-pass - -trait Mirror { - type Other; -} - -#[derive(Debug)] -struct Even(usize); -struct Odd; - -impl Mirror for Even { - type Other = Odd; -} - -impl Mirror for Odd { - type Other = Even; -} - -trait Dyn<T: Mirror>: AsRef<<T as Mirror>::Other> {} - -impl Dyn<Odd> for Even {} - -impl AsRef<Even> for Even { - fn as_ref(&self) -> &Even { - self - } -} - -fn code<T: Mirror>(d: &dyn Dyn<T>) -> &T::Other { - d.as_ref() -} - -fn main() { - println!("{:?}", code(&Even(22))); -} diff --git a/tests/ui/issues/issue-56237.rs b/tests/ui/issues/issue-56237.rs deleted file mode 100644 index 3c0a235f3ec..00000000000 --- a/tests/ui/issues/issue-56237.rs +++ /dev/null @@ -1,13 +0,0 @@ -//@ run-pass - -use std::ops::Deref; - -fn foo<P>(_value: <P as Deref>::Target) -where - P: Deref, - <P as Deref>::Target: Sized, -{} - -fn main() { - foo::<Box<u32>>(2); -} diff --git a/tests/ui/issues/issue-56806.rs b/tests/ui/issues/issue-56806.rs deleted file mode 100644 index b1dac26d65a..00000000000 --- a/tests/ui/issues/issue-56806.rs +++ /dev/null @@ -1,6 +0,0 @@ -pub trait Trait { - fn dyn_instead_of_self(self: Box<dyn Trait>); - //~^ ERROR invalid `self` parameter type -} - -pub fn main() {} diff --git a/tests/ui/issues/issue-56806.stderr b/tests/ui/issues/issue-56806.stderr deleted file mode 100644 index ec50d863758..00000000000 --- a/tests/ui/issues/issue-56806.stderr +++ /dev/null @@ -1,12 +0,0 @@ -error[E0307]: invalid `self` parameter type: `Box<(dyn Trait + 'static)>` - --> $DIR/issue-56806.rs:2:34 - | -LL | fn dyn_instead_of_self(self: Box<dyn Trait>); - | ^^^^^^^^^^^^^^ - | - = note: type of `self` must be `Self` or a type that dereferences to it - = help: consider changing to `self`, `&self`, `&mut self`, `self: Box<Self>`, `self: Rc<Self>`, `self: Arc<Self>`, or `self: Pin<P>` (where P is one of the previous types except `Self`) - -error: aborting due to 1 previous error - -For more information about this error, try `rustc --explain E0307`. diff --git a/tests/ui/issues/issue-56835.rs b/tests/ui/issues/issue-56835.rs deleted file mode 100644 index 7132d15ee5f..00000000000 --- a/tests/ui/issues/issue-56835.rs +++ /dev/null @@ -1,9 +0,0 @@ -pub struct Foo {} - -impl Foo { - fn bar(Self(foo): Self) {} - //~^ ERROR the `Self` constructor can only be used with tuple or unit structs - //~^^ ERROR expected tuple struct or tuple variant, found self constructor `Self` [E0164] -} - -fn main() {} diff --git a/tests/ui/issues/issue-56835.stderr b/tests/ui/issues/issue-56835.stderr deleted file mode 100644 index e949ae7b324..00000000000 --- a/tests/ui/issues/issue-56835.stderr +++ /dev/null @@ -1,15 +0,0 @@ -error: the `Self` constructor can only be used with tuple or unit structs - --> $DIR/issue-56835.rs:4:12 - | -LL | fn bar(Self(foo): Self) {} - | ^^^^^^^^^ help: use curly brackets: `Self { /* fields */ }` - -error[E0164]: expected tuple struct or tuple variant, found self constructor `Self` - --> $DIR/issue-56835.rs:4:12 - | -LL | fn bar(Self(foo): Self) {} - | ^^^^^^^^^ not a tuple struct or tuple variant - -error: aborting due to 2 previous errors - -For more information about this error, try `rustc --explain E0164`. diff --git a/tests/ui/issues/issue-56870.rs b/tests/ui/issues/issue-56870.rs deleted file mode 100644 index fc6deedd029..00000000000 --- a/tests/ui/issues/issue-56870.rs +++ /dev/null @@ -1,38 +0,0 @@ -//@ build-pass -// Regression test for #56870: Internal compiler error (traits & associated consts) - -use std::fmt::Debug; - -pub trait Foo<T> { - const FOO: *const u8; -} - -impl <T: Debug> Foo<T> for dyn Debug { - const FOO: *const u8 = <T as Debug>::fmt as *const u8; -} - -pub trait Bar { - const BAR: *const u8; -} - -pub trait Baz { - type Data: Debug; -} - -pub struct BarStruct<S: Baz>(S); - -impl<S: Baz> Bar for BarStruct<S> { - const BAR: *const u8 = <dyn Debug as Foo<<S as Baz>::Data>>::FOO; -} - -struct AnotherStruct; -#[derive(Debug)] -struct SomeStruct; - -impl Baz for AnotherStruct { - type Data = SomeStruct; -} - -fn main() { - let _x = <BarStruct<AnotherStruct> as Bar>::BAR; -} diff --git a/tests/ui/issues/issue-56943.rs b/tests/ui/issues/issue-56943.rs deleted file mode 100644 index 9664567ec9e..00000000000 --- a/tests/ui/issues/issue-56943.rs +++ /dev/null @@ -1,8 +0,0 @@ -//@ aux-build:issue-56943.rs - -extern crate issue_56943; - -fn main() { - let _: issue_56943::S = issue_56943::S2; - //~^ ERROR mismatched types [E0308] -} diff --git a/tests/ui/issues/issue-56943.stderr b/tests/ui/issues/issue-56943.stderr deleted file mode 100644 index 60a2e92dc71..00000000000 --- a/tests/ui/issues/issue-56943.stderr +++ /dev/null @@ -1,11 +0,0 @@ -error[E0308]: mismatched types - --> $DIR/issue-56943.rs:6:29 - | -LL | let _: issue_56943::S = issue_56943::S2; - | -------------- ^^^^^^^^^^^^^^^ expected `S`, found `S2` - | | - | expected due to this - -error: aborting due to 1 previous error - -For more information about this error, try `rustc --explain E0308`. diff --git a/tests/ui/issues/issue-57156.rs b/tests/ui/issues/issue-57156.rs deleted file mode 100644 index 12251509abd..00000000000 --- a/tests/ui/issues/issue-57156.rs +++ /dev/null @@ -1,23 +0,0 @@ -//@ check-pass - -trait Foo<Args> { - type Output; -} - -trait Bar<'a, T>: for<'s> Foo<&'s T, Output=bool> { - fn cb(&self) -> Box<dyn Bar<'a, T, Output=bool>>; -} - -impl<'s> Foo<&'s ()> for () { - type Output = bool; -} - -impl<'a> Bar<'a, ()> for () { - fn cb(&self) -> Box<dyn Bar<'a, (), Output=bool>> { - Box::new(*self) - } -} - -fn main() { - let _t = ().cb(); -} diff --git a/tests/ui/issues/issue-57162.rs b/tests/ui/issues/issue-57162.rs deleted file mode 100644 index 5e62d0eb010..00000000000 --- a/tests/ui/issues/issue-57162.rs +++ /dev/null @@ -1,7 +0,0 @@ -//@ check-pass - -trait Foo {} -impl Foo for dyn Send {} - -impl<T: Sync + Sync> Foo for T {} -fn main() {} diff --git a/tests/ui/issues/issue-57198-pass.rs b/tests/ui/issues/issue-57198-pass.rs deleted file mode 100644 index 06f30603c31..00000000000 --- a/tests/ui/issues/issue-57198-pass.rs +++ /dev/null @@ -1,9 +0,0 @@ -//@ run-pass - -mod m { - pub fn r#for() {} -} - -fn main() { - m::r#for(); -} diff --git a/tests/ui/issues/issue-57271.rs b/tests/ui/issues/issue-57271.rs deleted file mode 100644 index 20d081ecb3c..00000000000 --- a/tests/ui/issues/issue-57271.rs +++ /dev/null @@ -1,24 +0,0 @@ -//@ aux-build:issue-57271-lib.rs - -extern crate issue_57271_lib; - -use issue_57271_lib::BaseType; - -pub enum ObjectType { //~ ERROR recursive types `ObjectType` and `TypeSignature` have infinite size - Class(ClassTypeSignature), - Array(TypeSignature), - TypeVariable(()), -} - -pub struct ClassTypeSignature { - pub package: (), - pub class: (), - pub inner: (), -} - -pub enum TypeSignature { - Base(BaseType), - Object(ObjectType), -} - -fn main() {} diff --git a/tests/ui/issues/issue-57271.stderr b/tests/ui/issues/issue-57271.stderr deleted file mode 100644 index a61419c61d7..00000000000 --- a/tests/ui/issues/issue-57271.stderr +++ /dev/null @@ -1,27 +0,0 @@ -error[E0072]: recursive types `ObjectType` and `TypeSignature` have infinite size - --> $DIR/issue-57271.rs:7:1 - | -LL | pub enum ObjectType { - | ^^^^^^^^^^^^^^^^^^^ -LL | Class(ClassTypeSignature), -LL | Array(TypeSignature), - | ------------- recursive without indirection -... -LL | pub enum TypeSignature { - | ^^^^^^^^^^^^^^^^^^^^^^ -LL | Base(BaseType), -LL | Object(ObjectType), - | ---------- recursive without indirection - | -help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to break the cycle - | -LL ~ Array(Box<TypeSignature>), -LL | TypeVariable(()), -... -LL | Base(BaseType), -LL ~ Object(Box<ObjectType>), - | - -error: aborting due to 1 previous error - -For more information about this error, try `rustc --explain E0072`. diff --git a/tests/ui/issues/issue-57399-self-return-impl-trait.rs b/tests/ui/issues/issue-57399-self-return-impl-trait.rs deleted file mode 100644 index bcf1b18a9ff..00000000000 --- a/tests/ui/issues/issue-57399-self-return-impl-trait.rs +++ /dev/null @@ -1,22 +0,0 @@ -//@ check-pass - -trait T { - type T; -} - -impl T for i32 { - type T = u32; -} - -struct S<A> { - a: A, -} - - -impl From<u32> for S<<i32 as T>::T> { - fn from(a: u32) -> Self { - Self { a } - } -} - -fn main() {} diff --git a/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741-1.rs b/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741-1.rs deleted file mode 100644 index d0aae23b2fc..00000000000 --- a/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741-1.rs +++ /dev/null @@ -1,18 +0,0 @@ -#![allow(warnings)] - -// This tests that the `help: consider dereferencing the boxed value` suggestion isn't made -// because the box doesn't deref to the type of the arm. - -enum S { - A { a: usize }, - B { b: usize }, -} - -fn main() { - let x = Box::new(3u32); - let y = match x { - S::A { a } | S::B { b: a } => a, - //~^ ERROR mismatched types [E0308] - //~^^ ERROR mismatched types [E0308] - }; -} diff --git a/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741-1.stderr b/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741-1.stderr deleted file mode 100644 index 76f03bab6d1..00000000000 --- a/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741-1.stderr +++ /dev/null @@ -1,25 +0,0 @@ -error[E0308]: mismatched types - --> $DIR/issue-57741-1.rs:14:9 - | -LL | let y = match x { - | - this expression has type `Box<u32>` -LL | S::A { a } | S::B { b: a } => a, - | ^^^^^^^^^^ expected `Box<u32>`, found `S` - | - = note: expected struct `Box<u32>` - found enum `S` - -error[E0308]: mismatched types - --> $DIR/issue-57741-1.rs:14:22 - | -LL | let y = match x { - | - this expression has type `Box<u32>` -LL | S::A { a } | S::B { b: a } => a, - | ^^^^^^^^^^^^^ expected `Box<u32>`, found `S` - | - = note: expected struct `Box<u32>` - found enum `S` - -error: aborting due to 2 previous errors - -For more information about this error, try `rustc --explain E0308`. diff --git a/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741.fixed b/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741.fixed deleted file mode 100644 index 1823f0d3d4c..00000000000 --- a/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741.fixed +++ /dev/null @@ -1,31 +0,0 @@ -//@ run-rustfix - -#![allow(warnings)] - -// This tests that the `help: consider dereferencing the boxed value` suggestion is made and works. - -enum S { - A { a: usize }, - B { b: usize }, -} - -enum T { - A(usize), - B(usize), -} - -fn main() { - let x = Box::new(T::A(3)); - let y = match *x { - T::A(a) | T::B(a) => a, - //~^ ERROR mismatched types [E0308] - //~^^ ERROR mismatched types [E0308] - }; - - let x = Box::new(S::A { a: 3 }); - let y = match *x { - S::A { a } | S::B { b: a } => a, - //~^ ERROR mismatched types [E0308] - //~^^ ERROR mismatched types [E0308] - }; -} diff --git a/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741.rs b/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741.rs deleted file mode 100644 index 47ab91177e0..00000000000 --- a/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741.rs +++ /dev/null @@ -1,31 +0,0 @@ -//@ run-rustfix - -#![allow(warnings)] - -// This tests that the `help: consider dereferencing the boxed value` suggestion is made and works. - -enum S { - A { a: usize }, - B { b: usize }, -} - -enum T { - A(usize), - B(usize), -} - -fn main() { - let x = Box::new(T::A(3)); - let y = match x { - T::A(a) | T::B(a) => a, - //~^ ERROR mismatched types [E0308] - //~^^ ERROR mismatched types [E0308] - }; - - let x = Box::new(S::A { a: 3 }); - let y = match x { - S::A { a } | S::B { b: a } => a, - //~^ ERROR mismatched types [E0308] - //~^^ ERROR mismatched types [E0308] - }; -} diff --git a/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741.stderr b/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741.stderr deleted file mode 100644 index 62d83a54614..00000000000 --- a/tests/ui/issues/issue-57741-dereference-boxed-value/issue-57741.stderr +++ /dev/null @@ -1,63 +0,0 @@ -error[E0308]: mismatched types - --> $DIR/issue-57741.rs:20:9 - | -LL | let y = match x { - | - this expression has type `Box<T>` -LL | T::A(a) | T::B(a) => a, - | ^^^^^^^ expected `Box<T>`, found `T` - | - = note: expected struct `Box<T>` - found enum `T` -help: consider dereferencing the boxed value - | -LL | let y = match *x { - | + - -error[E0308]: mismatched types - --> $DIR/issue-57741.rs:20:19 - | -LL | let y = match x { - | - this expression has type `Box<T>` -LL | T::A(a) | T::B(a) => a, - | ^^^^^^^ expected `Box<T>`, found `T` - | - = note: expected struct `Box<T>` - found enum `T` -help: consider dereferencing the boxed value - | -LL | let y = match *x { - | + - -error[E0308]: mismatched types - --> $DIR/issue-57741.rs:27:9 - | -LL | let y = match x { - | - this expression has type `Box<S>` -LL | S::A { a } | S::B { b: a } => a, - | ^^^^^^^^^^ expected `Box<S>`, found `S` - | - = note: expected struct `Box<S>` - found enum `S` -help: consider dereferencing the boxed value - | -LL | let y = match *x { - | + - -error[E0308]: mismatched types - --> $DIR/issue-57741.rs:27:22 - | -LL | let y = match x { - | - this expression has type `Box<S>` -LL | S::A { a } | S::B { b: a } => a, - | ^^^^^^^^^^^^^ expected `Box<S>`, found `S` - | - = note: expected struct `Box<S>` - found enum `S` -help: consider dereferencing the boxed value - | -LL | let y = match *x { - | + - -error: aborting due to 4 previous errors - -For more information about this error, try `rustc --explain E0308`. diff --git a/tests/ui/issues/issue-57781.rs b/tests/ui/issues/issue-57781.rs deleted file mode 100644 index 7f0d2eda9bb..00000000000 --- a/tests/ui/issues/issue-57781.rs +++ /dev/null @@ -1,20 +0,0 @@ -//@ run-pass - -use std::cell::UnsafeCell; -use std::collections::HashMap; - -struct OnceCell<T> { - _value: UnsafeCell<Option<T>>, -} - -impl<T> OnceCell<T> { - const INIT: OnceCell<T> = OnceCell { - _value: UnsafeCell::new(None), - }; -} - -pub fn crash<K, T>() { - let _ = OnceCell::<HashMap<K, T>>::INIT; -} - -fn main() {} diff --git a/tests/ui/issues/issue-57924.rs b/tests/ui/issues/issue-57924.rs deleted file mode 100644 index 8846912a8ff..00000000000 --- a/tests/ui/issues/issue-57924.rs +++ /dev/null @@ -1,10 +0,0 @@ -pub struct Gcm<E>(E); - -impl<E> Gcm<E> { - pub fn crash(e: E) -> Self { - Self::<E>(e) - //~^ ERROR type arguments are not allowed on self constructor - } -} - -fn main() {} diff --git a/tests/ui/issues/issue-57924.stderr b/tests/ui/issues/issue-57924.stderr deleted file mode 100644 index 40435fd0f0a..00000000000 --- a/tests/ui/issues/issue-57924.stderr +++ /dev/null @@ -1,11 +0,0 @@ -error[E0109]: type arguments are not allowed on self constructor - --> $DIR/issue-57924.rs:5:16 - | -LL | Self::<E>(e) - | ---- ^ type argument not allowed - | | - | not allowed on self constructor - -error: aborting due to 1 previous error - -For more information about this error, try `rustc --explain E0109`. diff --git a/tests/ui/issues/issue-58212.rs b/tests/ui/issues/issue-58212.rs deleted file mode 100644 index f266db603bf..00000000000 --- a/tests/ui/issues/issue-58212.rs +++ /dev/null @@ -1,15 +0,0 @@ -//@ check-pass - -trait FromUnchecked { - fn from_unchecked(); -} - -impl FromUnchecked for [u8; 1] { - fn from_unchecked() { - let mut array: Self = [0; 1]; - let _ptr = &mut array as *mut [u8] as *mut u8; - } -} - -fn main() { -} diff --git a/tests/ui/issues/issue-58375-monomorphize-default-impls.rs b/tests/ui/issues/issue-58375-monomorphize-default-impls.rs deleted file mode 100644 index 769a1176edd..00000000000 --- a/tests/ui/issues/issue-58375-monomorphize-default-impls.rs +++ /dev/null @@ -1,24 +0,0 @@ -// Make sure that the mono-item collector does not crash when trying to -// instantiate a default impl for DecodeUtf16<<u8 as A>::Item> -// See https://github.com/rust-lang/rust/issues/58375 - -//@ build-pass -//@ compile-flags:-C link-dead-code - -#![crate_type = "rlib"] - -pub struct DecodeUtf16<I>(I); - -pub trait Arbitrary { - fn arbitrary() {} -} - -pub trait A { - type Item; -} - -impl A for u8 { - type Item = char; -} - -impl Arbitrary for DecodeUtf16<<u8 as A>::Item> {} diff --git a/tests/ui/issues/issue-58463.rs b/tests/ui/issues/issue-58463.rs deleted file mode 100644 index 6e4b909bc38..00000000000 --- a/tests/ui/issues/issue-58463.rs +++ /dev/null @@ -1,9 +0,0 @@ -//@ run-pass -//@ compile-flags:-C debuginfo=2 - -fn foo() -> impl Copy { - foo -} -fn main() { - foo(); -} diff --git a/tests/ui/issues/issue-58712.rs b/tests/ui/issues/issue-58712.rs deleted file mode 100644 index 930bec6889b..00000000000 --- a/tests/ui/issues/issue-58712.rs +++ /dev/null @@ -1,14 +0,0 @@ -struct AddrVec<H, A> { - h: H, - a: A, -} - -impl<H> AddrVec<H, DeviceId> { - //~^ ERROR cannot find type `DeviceId` in this scope - pub fn device(&self) -> DeviceId { - //~^ ERROR cannot find type `DeviceId` in this scope - self.tail() - } -} - -fn main() {} diff --git a/tests/ui/issues/issue-58712.stderr b/tests/ui/issues/issue-58712.stderr deleted file mode 100644 index f4bd4d1e826..00000000000 --- a/tests/ui/issues/issue-58712.stderr +++ /dev/null @@ -1,20 +0,0 @@ -error[E0412]: cannot find type `DeviceId` in this scope - --> $DIR/issue-58712.rs:6:20 - | -LL | impl<H> AddrVec<H, DeviceId> { - | ^^^^^^^^ not found in this scope - | -help: you might be missing a type parameter - | -LL | impl<H, DeviceId> AddrVec<H, DeviceId> { - | ++++++++++ - -error[E0412]: cannot find type `DeviceId` in this scope - --> $DIR/issue-58712.rs:8:29 - | -LL | pub fn device(&self) -> DeviceId { - | ^^^^^^^^ not found in this scope - -error: aborting due to 2 previous errors - -For more information about this error, try `rustc --explain E0412`. diff --git a/tests/ui/issues/issue-58734.rs b/tests/ui/issues/issue-58734.rs deleted file mode 100644 index e5b371f5530..00000000000 --- a/tests/ui/issues/issue-58734.rs +++ /dev/null @@ -1,24 +0,0 @@ -trait Trait { - fn exists(self) -> (); - - fn dyn_incompatible() -> Self; -} - -impl Trait for () { - fn exists(self) -> () { - } - - fn dyn_incompatible() -> Self { - () - } -} - -fn main() { - // dyn-compatible or not, this call is OK - Trait::exists(()); - // no dyn-compatibility error - Trait::nonexistent(()); - //~^ WARN trait objects without an explicit `dyn` are deprecated - //~| WARN this is accepted in the current edition - //~| ERROR the trait `Trait` is not dyn compatible -} diff --git a/tests/ui/issues/issue-58734.stderr b/tests/ui/issues/issue-58734.stderr deleted file mode 100644 index 2336a94f150..00000000000 --- a/tests/ui/issues/issue-58734.stderr +++ /dev/null @@ -1,42 +0,0 @@ -warning: trait objects without an explicit `dyn` are deprecated - --> $DIR/issue-58734.rs:20:5 - | -LL | Trait::nonexistent(()); - | ^^^^^ - | - = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! - = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html> - = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default -help: if this is a dyn-compatible trait, use `dyn` - | -LL | <dyn Trait>::nonexistent(()); - | ++++ + - -error[E0038]: the trait `Trait` is not dyn compatible - --> $DIR/issue-58734.rs:20:5 - | -LL | Trait::nonexistent(()); - | ^^^^^ `Trait` is not dyn compatible - | -note: for a trait to be dyn compatible it needs to allow building a vtable - for more information, visit <https://doc.rust-lang.org/reference/items/traits.html#dyn-compatibility> - --> $DIR/issue-58734.rs:4:8 - | -LL | trait Trait { - | ----- this trait is not dyn compatible... -... -LL | fn dyn_incompatible() -> Self; - | ^^^^^^^^^^^^^^^^ ...because associated function `dyn_incompatible` has no `self` parameter - = help: only type `()` implements `Trait`; consider using it directly instead. -help: consider turning `dyn_incompatible` into a method by giving it a `&self` argument - | -LL | fn dyn_incompatible(&self) -> Self; - | +++++ -help: alternatively, consider constraining `dyn_incompatible` so it does not apply to trait objects - | -LL | fn dyn_incompatible() -> Self where Self: Sized; - | +++++++++++++++++ - -error: aborting due to 1 previous error; 1 warning emitted - -For more information about this error, try `rustc --explain E0038`. diff --git a/tests/ui/issues/issue-58857.rs b/tests/ui/issues/issue-58857.rs deleted file mode 100644 index 4350d7e5b40..00000000000 --- a/tests/ui/issues/issue-58857.rs +++ /dev/null @@ -1,7 +0,0 @@ -struct Conj<A> {a : A} -trait Valid {} - -impl<A: !Valid> Conj<A>{} -//~^ ERROR negative bounds are not supported - -fn main() {} diff --git a/tests/ui/issues/issue-58857.stderr b/tests/ui/issues/issue-58857.stderr deleted file mode 100644 index ac70bc725e2..00000000000 --- a/tests/ui/issues/issue-58857.stderr +++ /dev/null @@ -1,8 +0,0 @@ -error: negative bounds are not supported - --> $DIR/issue-58857.rs:4:9 - | -LL | impl<A: !Valid> Conj<A>{} - | ^ - -error: aborting due to 1 previous error - diff --git a/tests/ui/issues/issue-59020.rs b/tests/ui/issues/issue-59020.rs deleted file mode 100644 index 2a34ba52b88..00000000000 --- a/tests/ui/issues/issue-59020.rs +++ /dev/null @@ -1,27 +0,0 @@ -//@ edition:2018 -//@ run-pass -//@ needs-threads - -use std::thread; -use std::time::Duration; - -fn main() { - let t1 = thread::spawn(|| { - let sleep = Duration::new(0,100_000); - for _ in 0..100 { - println!("Parking1"); - thread::park_timeout(sleep); - } - }); - - let t2 = thread::spawn(|| { - let sleep = Duration::new(0,100_000); - for _ in 0..100 { - println!("Parking2"); - thread::park_timeout(sleep); - } - }); - - t1.join().expect("Couldn't join thread 1"); - t2.join().expect("Couldn't join thread 2"); -} diff --git a/tests/ui/issues/issue-59326.rs b/tests/ui/issues/issue-59326.rs deleted file mode 100644 index e9634ad9fd8..00000000000 --- a/tests/ui/issues/issue-59326.rs +++ /dev/null @@ -1,26 +0,0 @@ -//@ check-pass -trait Service { - type S; -} - -trait Framing { - type F; -} - -impl Framing for () { - type F = (); -} - -trait HttpService<F: Framing>: Service<S = F::F> {} - -type BoxService = Box<dyn HttpService<(), S = ()>>; - -fn build_server<F: FnOnce() -> BoxService>(_: F) {} - -fn make_server<F: Framing>() -> Box<dyn HttpService<F, S = F::F>> { - unimplemented!() -} - -fn main() { - build_server(|| make_server()) -} diff --git a/tests/ui/issues/issue-59488.rs b/tests/ui/issues/issue-59488.rs deleted file mode 100644 index 384501e3e5d..00000000000 --- a/tests/ui/issues/issue-59488.rs +++ /dev/null @@ -1,34 +0,0 @@ -fn foo() -> i32 { - 42 -} - -fn bar(a: i64) -> i64 { - 43 -} - -enum Foo { - Bar(usize), -} - -fn main() { - foo > 12; - //~^ ERROR binary operation `>` cannot be applied to type `fn() -> i32 {foo}` [E0369] - //~| ERROR mismatched types [E0308] - - bar > 13; - //~^ ERROR binary operation `>` cannot be applied to type `fn(i64) -> i64 {bar}` [E0369] - //~| ERROR mismatched types [E0308] - - foo > foo; - //~^ ERROR binary operation `>` cannot be applied to type `fn() -> i32 {foo}` [E0369] - - foo > bar; - //~^ ERROR binary operation `>` cannot be applied to type `fn() -> i32 {foo}` [E0369] - //~| ERROR mismatched types [E0308] - - let i = Foo::Bar; - assert_eq!(Foo::Bar, i); - //~^ ERROR binary operation `==` cannot be applied to type `fn(usize) -> Foo {Foo::Bar}` [E0369] - //~| ERROR `fn(usize) -> Foo {Foo::Bar}` doesn't implement `Debug` [E0277] - //~| ERROR `fn(usize) -> Foo {Foo::Bar}` doesn't implement `Debug` [E0277] -} diff --git a/tests/ui/issues/issue-59488.stderr b/tests/ui/issues/issue-59488.stderr deleted file mode 100644 index b6611ad63a8..00000000000 --- a/tests/ui/issues/issue-59488.stderr +++ /dev/null @@ -1,105 +0,0 @@ -error[E0369]: binary operation `>` cannot be applied to type `fn() -> i32 {foo}` - --> $DIR/issue-59488.rs:14:9 - | -LL | foo > 12; - | --- ^ -- {integer} - | | - | fn() -> i32 {foo} - | -help: use parentheses to call this function - | -LL | foo() > 12; - | ++ - -error[E0308]: mismatched types - --> $DIR/issue-59488.rs:14:11 - | -LL | foo > 12; - | ^^ expected fn item, found `i32` - | - = note: expected fn item `fn() -> i32 {foo}` - found type `i32` - -error[E0369]: binary operation `>` cannot be applied to type `fn(i64) -> i64 {bar}` - --> $DIR/issue-59488.rs:18:9 - | -LL | bar > 13; - | --- ^ -- {integer} - | | - | fn(i64) -> i64 {bar} - | -help: use parentheses to call this function - | -LL | bar(/* i64 */) > 13; - | +++++++++++ - -error[E0308]: mismatched types - --> $DIR/issue-59488.rs:18:11 - | -LL | bar > 13; - | ^^ expected fn item, found `i64` - | - = note: expected fn item `fn(i64) -> i64 {bar}` - found type `i64` - -error[E0369]: binary operation `>` cannot be applied to type `fn() -> i32 {foo}` - --> $DIR/issue-59488.rs:22:9 - | -LL | foo > foo; - | --- ^ --- fn() -> i32 {foo} - | | - | fn() -> i32 {foo} - | -help: use parentheses to call these - | -LL | foo() > foo(); - | ++ ++ - -error[E0369]: binary operation `>` cannot be applied to type `fn() -> i32 {foo}` - --> $DIR/issue-59488.rs:25:9 - | -LL | foo > bar; - | --- ^ --- fn(i64) -> i64 {bar} - | | - | fn() -> i32 {foo} - -error[E0308]: mismatched types - --> $DIR/issue-59488.rs:25:11 - | -LL | foo > bar; - | ^^^ expected fn item, found a different fn item - | - = note: expected fn item `fn() -> i32 {foo}` - found fn item `fn(i64) -> i64 {bar}` - -error[E0369]: binary operation `==` cannot be applied to type `fn(usize) -> Foo {Foo::Bar}` - --> $DIR/issue-59488.rs:30:5 - | -LL | assert_eq!(Foo::Bar, i); - | ^^^^^^^^^^^^^^^^^^^^^^^ - | | - | fn(usize) -> Foo {Foo::Bar} - | fn(usize) -> Foo {Foo::Bar} - | - = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) - -error[E0277]: `fn(usize) -> Foo {Foo::Bar}` doesn't implement `Debug` - --> $DIR/issue-59488.rs:30:5 - | -LL | assert_eq!(Foo::Bar, i); - | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for fn item `fn(usize) -> Foo {Foo::Bar}` - | - = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) - -error[E0277]: `fn(usize) -> Foo {Foo::Bar}` doesn't implement `Debug` - --> $DIR/issue-59488.rs:30:5 - | -LL | assert_eq!(Foo::Bar, i); - | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for fn item `fn(usize) -> Foo {Foo::Bar}` - | - = note: this error originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info) - -error: aborting due to 10 previous errors - -Some errors have detailed explanations: E0277, E0308, E0369. -For more information about an error, try `rustc --explain E0277`. diff --git a/tests/ui/issues/issue-59494.rs b/tests/ui/issues/issue-59494.rs deleted file mode 100644 index b4d50bd4ce7..00000000000 --- a/tests/ui/issues/issue-59494.rs +++ /dev/null @@ -1,23 +0,0 @@ -fn t7p<A, B, C>(f: impl Fn(B) -> C, g: impl Fn(A) -> B) -> impl Fn(A) -> C { - move |a: A| -> C { f(g(a)) } -} - -fn t8n<A, B, C>(f: impl Fn(A) -> B, g: impl Fn(A) -> C) -> impl Fn(A) -> (B, C) -where - A: Copy, -{ - move |a: A| -> (B, C) { - let b = a; - let fa = f(a); - let ga = g(b); - (fa, ga) - } -} - -fn main() { - let f = |(_, _)| {}; - let g = |(a, _)| a; - let t7 = |env| |a| |b| t7p(f, g)(((env, a), b)); - //~^ ERROR mismatched types - let t8 = t8n(t7, t7p(f, g)); -} diff --git a/tests/ui/issues/issue-59494.stderr b/tests/ui/issues/issue-59494.stderr deleted file mode 100644 index 33d3e48c1aa..00000000000 --- a/tests/ui/issues/issue-59494.stderr +++ /dev/null @@ -1,9 +0,0 @@ -error[E0308]: mismatched types - --> $DIR/issue-59494.rs:20:40 - | -LL | let t7 = |env| |a| |b| t7p(f, g)(((env, a), b)); - | ^^^ cyclic type of infinite size - -error: aborting due to 1 previous error - -For more information about this error, try `rustc --explain E0308`. diff --git a/tests/ui/issues/issue-59756.fixed b/tests/ui/issues/issue-59756.fixed deleted file mode 100644 index 954ba917626..00000000000 --- a/tests/ui/issues/issue-59756.fixed +++ /dev/null @@ -1,17 +0,0 @@ -//@ run-rustfix - -#![allow(warnings)] - -struct A; -struct B; - -fn foo() -> Result<A, B> { - Ok(A) -} - -fn bar() -> Result<A, B> { - foo() - //~^ ERROR try expression alternatives have incompatible types [E0308] -} - -fn main() {} diff --git a/tests/ui/issues/issue-59756.rs b/tests/ui/issues/issue-59756.rs deleted file mode 100644 index de349f43f46..00000000000 --- a/tests/ui/issues/issue-59756.rs +++ /dev/null @@ -1,21 +0,0 @@ -//@ run-rustfix -//@ ignore-test (rustfix needs multiple suggestions) -// -// FIXME: Re-enable this test once we support choosing -// between multiple mutually exclusive suggestions for the same span - -#![allow(warnings)] - -struct A; -struct B; - -fn foo() -> Result<A, B> { - Ok(A) -} - -fn bar() -> Result<A, B> { - foo()? - //~^ ERROR try expression alternatives have incompatible types [E0308] -} - -fn main() {} diff --git a/tests/ui/issues/issue-59756.stderr b/tests/ui/issues/issue-59756.stderr deleted file mode 100644 index 27c07fecd5b..00000000000 --- a/tests/ui/issues/issue-59756.stderr +++ /dev/null @@ -1,20 +0,0 @@ -error[E0308]: try expression alternatives have incompatible types - --> $DIR/issue-59756.rs:13:5 - | -LL | foo()? - | ^^^^^^ expected enum `std::result::Result`, found struct `A` - | - = note: expected enum `std::result::Result<A, B>` - found struct `A` -help: try removing this `?` - | -LL | foo() - | -- -help: try using a variant of the expected enum - | -LL | Ok(foo()?) - | - -error: aborting due to 1 previous error - -For more information about this error, try `rustc --explain E0308`. |
