From 70c14dd9ddb0281195c2cb042ee406e8a55cba9c Mon Sep 17 00:00:00 2001 From: varkor Date: Mon, 7 Oct 2019 21:55:35 +0100 Subject: [PATCH 1/6] Move const generic regression tests to their old folder --- src/test/ui/const-generics/{ => issues}/issue-60263.rs | 0 src/test/ui/const-generics/{ => issues}/issue-60263.stderr | 0 .../{ => issues}/issue-60818-struct-constructors.rs | 0 .../{ => issues}/issue-60818-struct-constructors.stderr | 0 src/test/ui/const-generics/{ => issues}/issue-61336-1.rs | 0 src/test/ui/const-generics/{ => issues}/issue-61336-1.stderr | 0 src/test/ui/const-generics/{ => issues}/issue-61336-2.rs | 0 src/test/ui/const-generics/{ => issues}/issue-61336-2.stderr | 0 src/test/ui/const-generics/{ => issues}/issue-61336.rs | 0 src/test/ui/const-generics/{ => issues}/issue-61336.stderr | 0 src/test/ui/const-generics/{ => issues}/issue-61422.rs | 0 src/test/ui/const-generics/{ => issues}/issue-61422.stderr | 0 src/test/ui/const-generics/{ => issues}/issue-61432.rs | 0 src/test/ui/const-generics/{ => issues}/issue-61432.stderr | 0 src/test/ui/const-generics/{ => issues}/issue-64519.rs | 0 src/test/ui/const-generics/{ => issues}/issue-64519.stderr | 0 16 files changed, 0 insertions(+), 0 deletions(-) rename src/test/ui/const-generics/{ => issues}/issue-60263.rs (100%) rename src/test/ui/const-generics/{ => issues}/issue-60263.stderr (100%) rename src/test/ui/const-generics/{ => issues}/issue-60818-struct-constructors.rs (100%) rename src/test/ui/const-generics/{ => issues}/issue-60818-struct-constructors.stderr (100%) rename src/test/ui/const-generics/{ => issues}/issue-61336-1.rs (100%) rename src/test/ui/const-generics/{ => issues}/issue-61336-1.stderr (100%) rename src/test/ui/const-generics/{ => issues}/issue-61336-2.rs (100%) rename src/test/ui/const-generics/{ => issues}/issue-61336-2.stderr (100%) rename src/test/ui/const-generics/{ => issues}/issue-61336.rs (100%) rename src/test/ui/const-generics/{ => issues}/issue-61336.stderr (100%) rename src/test/ui/const-generics/{ => issues}/issue-61422.rs (100%) rename src/test/ui/const-generics/{ => issues}/issue-61422.stderr (100%) rename src/test/ui/const-generics/{ => issues}/issue-61432.rs (100%) rename src/test/ui/const-generics/{ => issues}/issue-61432.stderr (100%) rename src/test/ui/const-generics/{ => issues}/issue-64519.rs (100%) rename src/test/ui/const-generics/{ => issues}/issue-64519.stderr (100%) diff --git a/src/test/ui/const-generics/issue-60263.rs b/src/test/ui/const-generics/issues/issue-60263.rs similarity index 100% rename from src/test/ui/const-generics/issue-60263.rs rename to src/test/ui/const-generics/issues/issue-60263.rs diff --git a/src/test/ui/const-generics/issue-60263.stderr b/src/test/ui/const-generics/issues/issue-60263.stderr similarity index 100% rename from src/test/ui/const-generics/issue-60263.stderr rename to src/test/ui/const-generics/issues/issue-60263.stderr diff --git a/src/test/ui/const-generics/issue-60818-struct-constructors.rs b/src/test/ui/const-generics/issues/issue-60818-struct-constructors.rs similarity index 100% rename from src/test/ui/const-generics/issue-60818-struct-constructors.rs rename to src/test/ui/const-generics/issues/issue-60818-struct-constructors.rs diff --git a/src/test/ui/const-generics/issue-60818-struct-constructors.stderr b/src/test/ui/const-generics/issues/issue-60818-struct-constructors.stderr similarity index 100% rename from src/test/ui/const-generics/issue-60818-struct-constructors.stderr rename to src/test/ui/const-generics/issues/issue-60818-struct-constructors.stderr diff --git a/src/test/ui/const-generics/issue-61336-1.rs b/src/test/ui/const-generics/issues/issue-61336-1.rs similarity index 100% rename from src/test/ui/const-generics/issue-61336-1.rs rename to src/test/ui/const-generics/issues/issue-61336-1.rs diff --git a/src/test/ui/const-generics/issue-61336-1.stderr b/src/test/ui/const-generics/issues/issue-61336-1.stderr similarity index 100% rename from src/test/ui/const-generics/issue-61336-1.stderr rename to src/test/ui/const-generics/issues/issue-61336-1.stderr diff --git a/src/test/ui/const-generics/issue-61336-2.rs b/src/test/ui/const-generics/issues/issue-61336-2.rs similarity index 100% rename from src/test/ui/const-generics/issue-61336-2.rs rename to src/test/ui/const-generics/issues/issue-61336-2.rs diff --git a/src/test/ui/const-generics/issue-61336-2.stderr b/src/test/ui/const-generics/issues/issue-61336-2.stderr similarity index 100% rename from src/test/ui/const-generics/issue-61336-2.stderr rename to src/test/ui/const-generics/issues/issue-61336-2.stderr diff --git a/src/test/ui/const-generics/issue-61336.rs b/src/test/ui/const-generics/issues/issue-61336.rs similarity index 100% rename from src/test/ui/const-generics/issue-61336.rs rename to src/test/ui/const-generics/issues/issue-61336.rs diff --git a/src/test/ui/const-generics/issue-61336.stderr b/src/test/ui/const-generics/issues/issue-61336.stderr similarity index 100% rename from src/test/ui/const-generics/issue-61336.stderr rename to src/test/ui/const-generics/issues/issue-61336.stderr diff --git a/src/test/ui/const-generics/issue-61422.rs b/src/test/ui/const-generics/issues/issue-61422.rs similarity index 100% rename from src/test/ui/const-generics/issue-61422.rs rename to src/test/ui/const-generics/issues/issue-61422.rs diff --git a/src/test/ui/const-generics/issue-61422.stderr b/src/test/ui/const-generics/issues/issue-61422.stderr similarity index 100% rename from src/test/ui/const-generics/issue-61422.stderr rename to src/test/ui/const-generics/issues/issue-61422.stderr diff --git a/src/test/ui/const-generics/issue-61432.rs b/src/test/ui/const-generics/issues/issue-61432.rs similarity index 100% rename from src/test/ui/const-generics/issue-61432.rs rename to src/test/ui/const-generics/issues/issue-61432.rs diff --git a/src/test/ui/const-generics/issue-61432.stderr b/src/test/ui/const-generics/issues/issue-61432.stderr similarity index 100% rename from src/test/ui/const-generics/issue-61432.stderr rename to src/test/ui/const-generics/issues/issue-61432.stderr diff --git a/src/test/ui/const-generics/issue-64519.rs b/src/test/ui/const-generics/issues/issue-64519.rs similarity index 100% rename from src/test/ui/const-generics/issue-64519.rs rename to src/test/ui/const-generics/issues/issue-64519.rs diff --git a/src/test/ui/const-generics/issue-64519.stderr b/src/test/ui/const-generics/issues/issue-64519.stderr similarity index 100% rename from src/test/ui/const-generics/issue-64519.stderr rename to src/test/ui/const-generics/issues/issue-64519.stderr From 5e65e2bec2088d23f916fb4ed1a39bc5f9378998 Mon Sep 17 00:00:00 2001 From: varkor Date: Mon, 7 Oct 2019 22:01:58 +0100 Subject: [PATCH 2/6] Add a regression test for issue 62187 --- .../issue-62187-encountered-polymorphic-const.rs | 16 ++++++++++++++++ ...ue-62187-encountered-polymorphic-const.stderr | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 src/test/ui/const-generics/issues/issue-62187-encountered-polymorphic-const.rs create mode 100644 src/test/ui/const-generics/issues/issue-62187-encountered-polymorphic-const.stderr diff --git a/src/test/ui/const-generics/issues/issue-62187-encountered-polymorphic-const.rs b/src/test/ui/const-generics/issues/issue-62187-encountered-polymorphic-const.rs new file mode 100644 index 0000000000000..4dc46eb0ef65a --- /dev/null +++ b/src/test/ui/const-generics/issues/issue-62187-encountered-polymorphic-const.rs @@ -0,0 +1,16 @@ +// run-pass + +#![feature(const_generics)] +//~^ WARN the feature `const_generics` is incomplete and may cause the compiler to crash + +pub trait BitLen: Sized { + const BIT_LEN: usize; +} + +impl BitLen for [u8; L] { + const BIT_LEN: usize = 8 * L; +} + +fn main() { + let foo = <[u8; 2]>::BIT_LEN; +} diff --git a/src/test/ui/const-generics/issues/issue-62187-encountered-polymorphic-const.stderr b/src/test/ui/const-generics/issues/issue-62187-encountered-polymorphic-const.stderr new file mode 100644 index 0000000000000..20347ac4b7dac --- /dev/null +++ b/src/test/ui/const-generics/issues/issue-62187-encountered-polymorphic-const.stderr @@ -0,0 +1,16 @@ +warning: the feature `const_generics` is incomplete and may cause the compiler to crash + --> $DIR/issue-62187-encountered-polymorphic-const.rs:3:12 + | +LL | #![feature(const_generics)] + | ^^^^^^^^^^^^^^ + | + = note: `#[warn(incomplete_features)]` on by default + +warning: unused variable: `foo` + --> $DIR/issue-62187-encountered-polymorphic-const.rs:15:9 + | +LL | let foo = <[u8; 2]>::BIT_LEN; + | ^^^ help: consider prefixing with an underscore: `_foo` + | + = note: `#[warn(unused_variables)]` on by default + From 2328a7ea4012768e671b9caffd84e7612a5cf624 Mon Sep 17 00:00:00 2001 From: varkor Date: Mon, 7 Oct 2019 22:05:56 +0100 Subject: [PATCH 3/6] Move stray issue tests into src/test/ui/issues --- src/test/ui/{ => issues}/issue-53912.rs | 0 src/test/ui/{ => issues}/issue-59020.rs | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename src/test/ui/{ => issues}/issue-53912.rs (100%) rename src/test/ui/{ => issues}/issue-59020.rs (100%) diff --git a/src/test/ui/issue-53912.rs b/src/test/ui/issues/issue-53912.rs similarity index 100% rename from src/test/ui/issue-53912.rs rename to src/test/ui/issues/issue-53912.rs diff --git a/src/test/ui/issue-59020.rs b/src/test/ui/issues/issue-59020.rs similarity index 100% rename from src/test/ui/issue-59020.rs rename to src/test/ui/issues/issue-59020.rs From 4eba21e4c752b75158b436afab141ebbbbb38439 Mon Sep 17 00:00:00 2001 From: varkor Date: Mon, 7 Oct 2019 22:06:14 +0100 Subject: [PATCH 4/6] Add regression test for #64792 --- .../ui/issues/issue-64792-bad-unicode-ctor.rs | 5 +++++ .../ui/issues/issue-64792-bad-unicode-ctor.stderr | 15 +++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 src/test/ui/issues/issue-64792-bad-unicode-ctor.rs create mode 100644 src/test/ui/issues/issue-64792-bad-unicode-ctor.stderr diff --git a/src/test/ui/issues/issue-64792-bad-unicode-ctor.rs b/src/test/ui/issues/issue-64792-bad-unicode-ctor.rs new file mode 100644 index 0000000000000..7bce57923a5b7 --- /dev/null +++ b/src/test/ui/issues/issue-64792-bad-unicode-ctor.rs @@ -0,0 +1,5 @@ +struct X {} + +const Y: X = X("ö"); //~ ERROR expected function, found struct `X` + +fn main() {} diff --git a/src/test/ui/issues/issue-64792-bad-unicode-ctor.stderr b/src/test/ui/issues/issue-64792-bad-unicode-ctor.stderr new file mode 100644 index 0000000000000..ae9025bb041ab --- /dev/null +++ b/src/test/ui/issues/issue-64792-bad-unicode-ctor.stderr @@ -0,0 +1,15 @@ +error[E0423]: expected function, found struct `X` + --> $DIR/issue-64792-bad-unicode-ctor.rs:3:14 + | +LL | struct X {} + | ----------- `X` defined here +LL | +LL | const Y: X = X("ö"); + | ^ + | | + | did you mean `X { /* fields */ }`? + | help: a constant with a similar name exists: `Y` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0423`. From 85b7aa2cfbf8c5dbc642d60890b7cf710f1a7d60 Mon Sep 17 00:00:00 2001 From: varkor Date: Mon, 7 Oct 2019 22:10:50 +0100 Subject: [PATCH 5/6] Add a regression test for #57399 --- .../issue-57399-self-return-impl-trait.rs | 22 +++++++++++++++++++ .../issue-57399-self-return-impl-trait.stderr | 8 +++++++ 2 files changed, 30 insertions(+) create mode 100644 src/test/ui/issues/issue-57399-self-return-impl-trait.rs create mode 100644 src/test/ui/issues/issue-57399-self-return-impl-trait.stderr diff --git a/src/test/ui/issues/issue-57399-self-return-impl-trait.rs b/src/test/ui/issues/issue-57399-self-return-impl-trait.rs new file mode 100644 index 0000000000000..23d68263b3a27 --- /dev/null +++ b/src/test/ui/issues/issue-57399-self-return-impl-trait.rs @@ -0,0 +1,22 @@ +// run-pass + +trait T { + type T; +} + +impl T for i32 { + type T = u32; +} + +struct S { + a: A, +} + + +impl From for S<::T> { + fn from(a: u32) -> Self { + Self { a } + } +} + +fn main() {} diff --git a/src/test/ui/issues/issue-57399-self-return-impl-trait.stderr b/src/test/ui/issues/issue-57399-self-return-impl-trait.stderr new file mode 100644 index 0000000000000..5c71410a8275c --- /dev/null +++ b/src/test/ui/issues/issue-57399-self-return-impl-trait.stderr @@ -0,0 +1,8 @@ +warning: field is never used: `a` + --> $DIR/issue-57399-self-return-impl-trait.rs:12:5 + | +LL | a: A, + | ^^^^ + | + = note: `#[warn(dead_code)]` on by default + From c99074490bc4e0d8a248bf807dfc3426341d7acd Mon Sep 17 00:00:00 2001 From: varkor Date: Mon, 7 Oct 2019 22:24:04 +0100 Subject: [PATCH 6/6] Add a regression test for #57271 --- .../ui/issues/auxiliary/issue-57271-lib.rs | 11 ++++++++ src/test/ui/issues/issue-57271.rs | 24 ++++++++++++++++++ src/test/ui/issues/issue-57271.stderr | 25 +++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 src/test/ui/issues/auxiliary/issue-57271-lib.rs create mode 100644 src/test/ui/issues/issue-57271.rs create mode 100644 src/test/ui/issues/issue-57271.stderr diff --git a/src/test/ui/issues/auxiliary/issue-57271-lib.rs b/src/test/ui/issues/auxiliary/issue-57271-lib.rs new file mode 100644 index 0000000000000..ff625668a9ddf --- /dev/null +++ b/src/test/ui/issues/auxiliary/issue-57271-lib.rs @@ -0,0 +1,11 @@ +#[derive(Copy, Clone, Debug, Eq, PartialEq, Hash)] +pub enum BaseType { + Byte, + Char, + Double, + Float, + Int, + Long, + Short, + Boolean, +} diff --git a/src/test/ui/issues/issue-57271.rs b/src/test/ui/issues/issue-57271.rs new file mode 100644 index 0000000000000..9940fecbeed53 --- /dev/null +++ b/src/test/ui/issues/issue-57271.rs @@ -0,0 +1,24 @@ +// aux-build:issue-57271-lib.rs + +extern crate issue_57271_lib; + +use issue_57271_lib::BaseType; + +pub enum ObjectType { //~ ERROR recursive type `ObjectType` has infinite size + Class(ClassTypeSignature), + Array(TypeSignature), + TypeVariable(()), +} + +pub struct ClassTypeSignature { + pub package: (), + pub class: (), + pub inner: (), +} + +pub enum TypeSignature { //~ ERROR recursive type `TypeSignature` has infinite size + Base(BaseType), + Object(ObjectType), +} + +fn main() {} diff --git a/src/test/ui/issues/issue-57271.stderr b/src/test/ui/issues/issue-57271.stderr new file mode 100644 index 0000000000000..4f164624f7a53 --- /dev/null +++ b/src/test/ui/issues/issue-57271.stderr @@ -0,0 +1,25 @@ +error[E0072]: recursive type `ObjectType` has infinite size + --> $DIR/issue-57271.rs:7:1 + | +LL | pub enum ObjectType { + | ^^^^^^^^^^^^^^^^^^^ recursive type has infinite size +LL | Class(ClassTypeSignature), +LL | Array(TypeSignature), + | ------------- recursive without indirection + | + = help: insert indirection (e.g., a `Box`, `Rc`, or `&`) at some point to make `ObjectType` representable + +error[E0072]: recursive type `TypeSignature` has infinite size + --> $DIR/issue-57271.rs:19:1 + | +LL | pub enum TypeSignature { + | ^^^^^^^^^^^^^^^^^^^^^^ recursive type has infinite size +LL | Base(BaseType), +LL | Object(ObjectType), + | ---------- recursive without indirection + | + = help: insert indirection (e.g., a `Box`, `Rc`, or `&`) at some point to make `TypeSignature` representable + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0072`.