Merge unsized locals pat tests
This commit is contained in:
parent
00fd703eb7
commit
cc9ab1cd58
4 changed files with 29 additions and 39 deletions
|
@ -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<Box<[u8]>>) {}
|
|
||||||
//~^ 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() {}
|
|
|
@ -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<Box<[u8]>>) {}
|
|
||||||
| ^^ 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`.
|
|
|
@ -1,6 +1,12 @@
|
||||||
|
#![feature(box_patterns)]
|
||||||
#![feature(unsized_fn_params)]
|
#![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<Box<[u8]>>) {}
|
||||||
|
//~^ 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() {
|
fn main() {
|
||||||
let foo: Box<[u8]> = Box::new(*b"foo");
|
let foo: Box<[u8]> = Box::new(*b"foo");
|
||||||
|
|
|
@ -1,5 +1,25 @@
|
||||||
error[E0277]: the size for values of type `[u8]` cannot be known at compilation time
|
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<Box<[u8]>>) {}
|
||||||
|
| ^^ 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;
|
LL | let _foo: [u8] = *foo;
|
||||||
| ^^^^ doesn't have a size known at compile-time
|
| ^^^^ 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
|
= note: all local variables must have a statically known size
|
||||||
= help: unsized locals are gated as an unstable feature
|
= 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`.
|
For more information about this error, try `rustc --explain E0277`.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue