From 3e98c3acf5c598ae577428fa8fbf1c29e270739b Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Sun, 28 Jul 2019 19:12:04 -0400 Subject: Rename test and add comment --- .../issue-52843-closure-constrain.rs | 12 ++++++++++++ .../issue-52843-closure-constrain.stderr | 20 ++++++++++++++++++++ src/test/ui/existential-type/issue-52843.rs | 11 ----------- src/test/ui/existential-type/issue-52843.stderr | 20 -------------------- 4 files changed, 32 insertions(+), 31 deletions(-) create mode 100644 src/test/ui/existential-type/issue-52843-closure-constrain.rs create mode 100644 src/test/ui/existential-type/issue-52843-closure-constrain.stderr delete mode 100644 src/test/ui/existential-type/issue-52843.rs delete mode 100644 src/test/ui/existential-type/issue-52843.stderr diff --git a/src/test/ui/existential-type/issue-52843-closure-constrain.rs b/src/test/ui/existential-type/issue-52843-closure-constrain.rs new file mode 100644 index 00000000000..b2bbc1f1549 --- /dev/null +++ b/src/test/ui/existential-type/issue-52843-closure-constrain.rs @@ -0,0 +1,12 @@ +// Checks to ensure that we properly detect when a closure constrains an existential type +#![feature(existential_type)] + +use std::fmt::Debug; + +fn main() { + existential type Existential: Debug; + fn _unused() -> Existential { String::new() } + //~^ ERROR: concrete type differs from previous defining existential type use + let null = || -> Existential { 0 }; + println!("{:?}", null()); +} diff --git a/src/test/ui/existential-type/issue-52843-closure-constrain.stderr b/src/test/ui/existential-type/issue-52843-closure-constrain.stderr new file mode 100644 index 00000000000..424d65a193c --- /dev/null +++ b/src/test/ui/existential-type/issue-52843-closure-constrain.stderr @@ -0,0 +1,20 @@ +error: concrete type differs from previous defining existential type use + --> $DIR/issue-52843-closure-constrain.rs:8:5 + | +LL | fn _unused() -> Existential { String::new() } + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, got `std::string::String` + | +note: previous use here + --> $DIR/issue-52843-closure-constrain.rs:6:1 + | +LL | / fn main() { +LL | | existential type Existential: Debug; +LL | | fn _unused() -> Existential { String::new() } +LL | | +LL | | let null = || -> Existential { 0 }; +LL | | println!("{:?}", null()); +LL | | } + | |_^ + +error: aborting due to previous error + diff --git a/src/test/ui/existential-type/issue-52843.rs b/src/test/ui/existential-type/issue-52843.rs deleted file mode 100644 index c625909e478..00000000000 --- a/src/test/ui/existential-type/issue-52843.rs +++ /dev/null @@ -1,11 +0,0 @@ -#![feature(existential_type)] - -use std::fmt::Debug; - -fn main() { - existential type Existential: Debug; - fn _unused() -> Existential { String::new() } - //~^ ERROR: concrete type differs from previous defining existential type use - let null = || -> Existential { 0 }; - println!("{:?}", null()); -} diff --git a/src/test/ui/existential-type/issue-52843.stderr b/src/test/ui/existential-type/issue-52843.stderr deleted file mode 100644 index 337e84bb8f5..00000000000 --- a/src/test/ui/existential-type/issue-52843.stderr +++ /dev/null @@ -1,20 +0,0 @@ -error: concrete type differs from previous defining existential type use - --> $DIR/issue-52843.rs:7:5 - | -LL | fn _unused() -> Existential { String::new() } - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `i32`, got `std::string::String` - | -note: previous use here - --> $DIR/issue-52843.rs:5:1 - | -LL | / fn main() { -LL | | existential type Existential: Debug; -LL | | fn _unused() -> Existential { String::new() } -LL | | -LL | | let null = || -> Existential { 0 }; -LL | | println!("{:?}", null()); -LL | | } - | |_^ - -error: aborting due to previous error - -- cgit 1.4.1-3-g733a5