Check that value is explicitly none

This commit is contained in:
kadmin 2020-12-27 02:30:06 +00:00
parent 78e22069d0
commit fe39653116
3 changed files with 39 additions and 2 deletions

View file

@ -0,0 +1,15 @@
#![crate_type = "lib"]
pub struct Header<'a> {
pub value: &'a [u8],
}
pub fn test() {
let headers = [Header{value: &[]}; 128];
//~^ ERROR the trait bound
}
pub fn test2() {
let headers = [Header{value: &[0]}; 128];
//~^ ERROR the trait bound
}

View file

@ -0,0 +1,23 @@
error[E0277]: the trait bound `Header<'_>: Copy` is not satisfied
--> $DIR/issue-80371.rs:8:19
|
LL | let headers = [Header{value: &[]}; 128];
| ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `Header<'_>`
|
= note: the `Copy` trait is required because the repeated element will be copied
= note: this array initializer can be evaluated at compile-time, see issue #49147 <https://github.com/rust-lang/rust/issues/49147> for more information
= help: add `#![feature(const_in_array_repeat_expressions)]` to the crate attributes to enable
error[E0277]: the trait bound `Header<'_>: Copy` is not satisfied
--> $DIR/issue-80371.rs:13:19
|
LL | let headers = [Header{value: &[0]}; 128];
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Copy` is not implemented for `Header<'_>`
|
= note: the `Copy` trait is required because the repeated element will be copied
= note: this array initializer can be evaluated at compile-time, see issue #49147 <https://github.com/rust-lang/rust/issues/49147> for more information
= help: add `#![feature(const_in_array_repeat_expressions)]` to the crate attributes to enable
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0277`.