diff options
| author | Jonas Schievink <jonasschievink@gmail.com> | 2021-01-31 16:36:42 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-31 16:36:42 +0100 |
| commit | 99f2f5a830df02c0c26ec046dbf979daa190b2f2 (patch) | |
| tree | fcee8d55938e70bfd06c4dde28891d8390547627 /src/test/ui/array-slice-vec | |
| parent | 7e3a8ec6888a04a4ebc248f6178ae02b48dea3b6 (diff) | |
| parent | 6946534d84161353b56157f65f8cdcdfb93df749 (diff) | |
| download | rust-99f2f5a830df02c0c26ec046dbf979daa190b2f2.tar.gz rust-99f2f5a830df02c0c26ec046dbf979daa190b2f2.zip | |
Rollup merge of #80404 - JulianKnodt:arr_ref, r=oli-obk
Remove const_in_array_repeat Fixes #80371. Fixes #81315. Fixes #80767. Fixes #75682. I thought there might be some issue with `Repeats(_, 0)`, but if you increase the items in the array it still ICEs. I'm not sure if this is the best fix but it does fix the given issue.
Diffstat (limited to 'src/test/ui/array-slice-vec')
| -rw-r--r-- | src/test/ui/array-slice-vec/repeat_empty_ok.rs | 15 | ||||
| -rw-r--r-- | src/test/ui/array-slice-vec/repeat_empty_ok.stderr | 19 |
2 files changed, 34 insertions, 0 deletions
diff --git a/src/test/ui/array-slice-vec/repeat_empty_ok.rs b/src/test/ui/array-slice-vec/repeat_empty_ok.rs new file mode 100644 index 00000000000..25463ea5ee8 --- /dev/null +++ b/src/test/ui/array-slice-vec/repeat_empty_ok.rs @@ -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 +} diff --git a/src/test/ui/array-slice-vec/repeat_empty_ok.stderr b/src/test/ui/array-slice-vec/repeat_empty_ok.stderr new file mode 100644 index 00000000000..85baa1268bf --- /dev/null +++ b/src/test/ui/array-slice-vec/repeat_empty_ok.stderr @@ -0,0 +1,19 @@ +error[E0277]: the trait bound `Header<'_>: Copy` is not satisfied + --> $DIR/repeat_empty_ok.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 + +error[E0277]: the trait bound `Header<'_>: Copy` is not satisfied + --> $DIR/repeat_empty_ok.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 + +error: aborting due to 2 previous errors + +For more information about this error, try `rustc --explain E0277`. |
