From cc9ab1cd58e55de4e60cfaf884e89a9d66563b38 Mon Sep 17 00:00:00 2001 From: Santiago Pastorino Date: Wed, 21 Oct 2020 08:23:40 -0300 Subject: [PATCH] Merge unsized locals pat tests --- .../ui/unsized-locals/unsized-local-pat.rs | 13 ---------- .../unsized-locals/unsized-local-pat.stderr | 23 ------------------ .../unsized-locals-using-unsized-fn-params.rs | 8 ++++++- ...ized-locals-using-unsized-fn-params.stderr | 24 +++++++++++++++++-- 4 files changed, 29 insertions(+), 39 deletions(-) delete mode 100644 src/test/ui/unsized-locals/unsized-local-pat.rs delete mode 100644 src/test/ui/unsized-locals/unsized-local-pat.stderr diff --git a/src/test/ui/unsized-locals/unsized-local-pat.rs b/src/test/ui/unsized-locals/unsized-local-pat.rs deleted file mode 100644 index 5793d3fb499a7..0000000000000 --- a/src/test/ui/unsized-locals/unsized-local-pat.rs +++ /dev/null @@ -1,13 +0,0 @@ -#![feature(box_patterns)] -#![feature(unsized_fn_params)] - -// Ensure that even with unsized_fn_params, unsized types in parameter patterns are not accepted. - -#[allow(dead_code)] -fn f1(box box _b: Box>) {} -//~^ ERROR: the size for values of type `[u8]` cannot be known at compilation time [E0277] - -fn f2((_x, _y): (i32, [i32])) {} -//~^ ERROR: the size for values of type `[i32]` cannot be known at compilation time [E0277] - -fn main() {} diff --git a/src/test/ui/unsized-locals/unsized-local-pat.stderr b/src/test/ui/unsized-locals/unsized-local-pat.stderr deleted file mode 100644 index 01449b45b8965..0000000000000 --- a/src/test/ui/unsized-locals/unsized-local-pat.stderr +++ /dev/null @@ -1,23 +0,0 @@ -error[E0277]: the size for values of type `[u8]` cannot be known at compilation time - --> $DIR/unsized-local-pat.rs:7:15 - | -LL | fn f1(box box _b: Box>) {} - | ^^ doesn't have a size known at compile-time - | - = help: the trait `Sized` is not implemented for `[u8]` - = note: all local variables must have a statically known size - = help: unsized locals are gated as an unstable feature - -error[E0277]: the size for values of type `[i32]` cannot be known at compilation time - --> $DIR/unsized-local-pat.rs:10:12 - | -LL | fn f2((_x, _y): (i32, [i32])) {} - | ^^ doesn't have a size known at compile-time - | - = help: the trait `Sized` is not implemented for `[i32]` - = note: all local variables must have a statically known size - = help: unsized locals are gated as an unstable feature - -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-locals-using-unsized-fn-params.rs b/src/test/ui/unsized-locals/unsized-locals-using-unsized-fn-params.rs index 6d39c8c8172cd..15263954ced77 100644 --- a/src/test/ui/unsized-locals/unsized-locals-using-unsized-fn-params.rs +++ b/src/test/ui/unsized-locals/unsized-locals-using-unsized-fn-params.rs @@ -1,6 +1,12 @@ +#![feature(box_patterns)] #![feature(unsized_fn_params)] -// Ensure that even with unsized_fn_params, unsized locals are not accepted. +#[allow(dead_code)] +fn f1(box box _b: Box>) {} +//~^ ERROR: the size for values of type `[u8]` cannot be known at compilation time [E0277] + +fn f2((_x, _y): (i32, [i32])) {} +//~^ ERROR: the size for values of type `[i32]` cannot be known at compilation time [E0277] fn main() { let foo: Box<[u8]> = Box::new(*b"foo"); diff --git a/src/test/ui/unsized-locals/unsized-locals-using-unsized-fn-params.stderr b/src/test/ui/unsized-locals/unsized-locals-using-unsized-fn-params.stderr index 1f5ce5bc2df09..da77026673d96 100644 --- a/src/test/ui/unsized-locals/unsized-locals-using-unsized-fn-params.stderr +++ b/src/test/ui/unsized-locals/unsized-locals-using-unsized-fn-params.stderr @@ -1,5 +1,25 @@ error[E0277]: the size for values of type `[u8]` cannot be known at compilation time - --> $DIR/unsized-locals-using-unsized-fn-params.rs:7:9 + --> $DIR/unsized-locals-using-unsized-fn-params.rs:5:15 + | +LL | fn f1(box box _b: Box>) {} + | ^^ doesn't have a size known at compile-time + | + = help: the trait `Sized` is not implemented for `[u8]` + = note: all local variables must have a statically known size + = help: unsized locals are gated as an unstable feature + +error[E0277]: the size for values of type `[i32]` cannot be known at compilation time + --> $DIR/unsized-locals-using-unsized-fn-params.rs:8:12 + | +LL | fn f2((_x, _y): (i32, [i32])) {} + | ^^ doesn't have a size known at compile-time + | + = help: the trait `Sized` is not implemented for `[i32]` + = note: all local variables must have a statically known size + = help: unsized locals are gated as an unstable feature + +error[E0277]: the size for values of type `[u8]` cannot be known at compilation time + --> $DIR/unsized-locals-using-unsized-fn-params.rs:13:9 | LL | let _foo: [u8] = *foo; | ^^^^ doesn't have a size known at compile-time @@ -8,6 +28,6 @@ LL | let _foo: [u8] = *foo; = note: all local variables must have a statically known size = help: unsized locals are gated as an unstable feature -error: aborting due to previous error +error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0277`.