From b3dce87a8694381e4e96fd4a7183487ffa100e22 Mon Sep 17 00:00:00 2001 From: Masaki Hara Date: Wed, 24 Oct 2018 22:10:17 +0900 Subject: [PATCH] Move compile-fail/unsized-locals under ui as per #44844. --- .../by-value-trait-object-safety.rs | 0 .../by-value-trait-object-safety.stderr | 8 ++++++ .../unsized-locals/unsized-exprs.rs | 0 .../ui/unsized-locals/unsized-exprs.stderr | 25 +++++++++++++++++++ .../unsized-locals/unsized-exprs2.nll.stderr | 19 ++++++++++++++ .../unsized-locals/unsized-exprs2.rs | 0 .../ui/unsized-locals/unsized-exprs2.stderr | 9 +++++++ 7 files changed, 61 insertions(+) rename src/test/{compile-fail => ui}/unsized-locals/by-value-trait-object-safety.rs (100%) create mode 100644 src/test/ui/unsized-locals/by-value-trait-object-safety.stderr rename src/test/{compile-fail => ui}/unsized-locals/unsized-exprs.rs (100%) create mode 100644 src/test/ui/unsized-locals/unsized-exprs.stderr create mode 100644 src/test/ui/unsized-locals/unsized-exprs2.nll.stderr rename src/test/{compile-fail => ui}/unsized-locals/unsized-exprs2.rs (100%) create mode 100644 src/test/ui/unsized-locals/unsized-exprs2.stderr diff --git a/src/test/compile-fail/unsized-locals/by-value-trait-object-safety.rs b/src/test/ui/unsized-locals/by-value-trait-object-safety.rs similarity index 100% rename from src/test/compile-fail/unsized-locals/by-value-trait-object-safety.rs rename to src/test/ui/unsized-locals/by-value-trait-object-safety.rs diff --git a/src/test/ui/unsized-locals/by-value-trait-object-safety.stderr b/src/test/ui/unsized-locals/by-value-trait-object-safety.stderr new file mode 100644 index 000000000000..885944b2019c --- /dev/null +++ b/src/test/ui/unsized-locals/by-value-trait-object-safety.stderr @@ -0,0 +1,8 @@ +error: the `foo` method cannot be invoked on a trait object + --> $DIR/by-value-trait-object-safety.rs:28:7 + | +LL | x.foo(); + | ^^^ + +error: aborting due to previous error + diff --git a/src/test/compile-fail/unsized-locals/unsized-exprs.rs b/src/test/ui/unsized-locals/unsized-exprs.rs similarity index 100% rename from src/test/compile-fail/unsized-locals/unsized-exprs.rs rename to src/test/ui/unsized-locals/unsized-exprs.rs diff --git a/src/test/ui/unsized-locals/unsized-exprs.stderr b/src/test/ui/unsized-locals/unsized-exprs.stderr new file mode 100644 index 000000000000..42a9d622e0da --- /dev/null +++ b/src/test/ui/unsized-locals/unsized-exprs.stderr @@ -0,0 +1,25 @@ +error[E0277]: the size for values of type `[u8]` cannot be known at compilation time + --> $DIR/unsized-exprs.rs:32:26 + | +LL | udrop::<(i32, [u8])>((42, *foo())); + | ^^^^^^^^^^^^ doesn't have a size known at compile-time + | + = help: within `({integer}, [u8])`, the trait `std::marker::Sized` is not implemented for `[u8]` + = note: to learn more, visit + = note: required because it appears within the type `({integer}, [u8])` + = note: tuples must have a statically known size to be initialized + +error[E0277]: the size for values of type `[u8]` cannot be known at compilation time + --> $DIR/unsized-exprs.rs:34:22 + | +LL | udrop::>(A { 0: *foo() }); + | ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time + | + = help: within `A<[u8]>`, the trait `std::marker::Sized` is not implemented for `[u8]` + = note: to learn more, visit + = note: required because it appears within the type `A<[u8]>` + = note: structs must have a statically known size to be initialized + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0277`. diff --git a/src/test/ui/unsized-locals/unsized-exprs2.nll.stderr b/src/test/ui/unsized-locals/unsized-exprs2.nll.stderr new file mode 100644 index 000000000000..21541fb8b877 --- /dev/null +++ b/src/test/ui/unsized-locals/unsized-exprs2.nll.stderr @@ -0,0 +1,19 @@ +error[E0508]: cannot move out of type `[u8]`, a non-copy slice + --> $DIR/unsized-exprs2.rs:32:19 + | +LL | udrop::<[u8]>(foo()[..]); + | ^^^^^^^^^ cannot move out of here + +error[E0507]: cannot move out of data in a `&` reference + --> $DIR/unsized-exprs2.rs:32:19 + | +LL | udrop::<[u8]>(foo()[..]); + | ^^^^^^^^^ + | | + | cannot move out of data in a `&` reference + | cannot move + +error: aborting due to 2 previous errors + +Some errors occurred: E0507, E0508. +For more information about an error, try `rustc --explain E0507`. diff --git a/src/test/compile-fail/unsized-locals/unsized-exprs2.rs b/src/test/ui/unsized-locals/unsized-exprs2.rs similarity index 100% rename from src/test/compile-fail/unsized-locals/unsized-exprs2.rs rename to src/test/ui/unsized-locals/unsized-exprs2.rs diff --git a/src/test/ui/unsized-locals/unsized-exprs2.stderr b/src/test/ui/unsized-locals/unsized-exprs2.stderr new file mode 100644 index 000000000000..30a6d5473dfc --- /dev/null +++ b/src/test/ui/unsized-locals/unsized-exprs2.stderr @@ -0,0 +1,9 @@ +error[E0507]: cannot move out of indexed content + --> $DIR/unsized-exprs2.rs:32:19 + | +LL | udrop::<[u8]>(foo()[..]); + | ^^^^^^^^^ cannot move out of indexed content + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0507`.