diff options
| author | bors <bors@rust-lang.org> | 2020-03-31 14:00:55 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2020-03-31 14:00:55 +0000 |
| commit | 75ff3110ac6d8a0259023b83fd20d7ab295f8dd6 (patch) | |
| tree | 16273bf92f9580d0c1a3fbb99b10d32c234902b7 /src/test/ui/array-slice-vec | |
| parent | 2113659479a82ea69633b23ef710b58ab127755e (diff) | |
| parent | 976f8d59dddac2ccddbe940953ee6247454e6736 (diff) | |
| download | rust-75ff3110ac6d8a0259023b83fd20d7ab295f8dd6.tar.gz rust-75ff3110ac6d8a0259023b83fd20d7ab295f8dd6.zip | |
Auto merge of #70617 - Centril:rollup-063ycso, r=Centril
Rollup of 9 pull requests
Successful merges:
- #69784 (Optimize strip_prefix and strip_suffix with str patterns)
- #70548 (Add long error code for error E0226)
- #70555 (resolve, `try_resolve_as_non_binding`: use `delay_span_bug` due to parser recovery)
- #70561 (remove obsolete comment)
- #70562 (infer array len from pattern)
- #70585 (std: Fix over-aligned allocations on wasm32-wasi)
- #70587 (Add `Rust` to the code snippet)
- #70588 (Fix incorrect documentation for `str::{split_at, split_at_mut}`)
- #70613 (more clippy fixes)
Failed merges:
r? @ghost
Diffstat (limited to 'src/test/ui/array-slice-vec')
| -rw-r--r-- | src/test/ui/array-slice-vec/infer_array_len.rs | 21 | ||||
| -rw-r--r-- | src/test/ui/array-slice-vec/infer_array_len.stderr | 11 | ||||
| -rw-r--r-- | src/test/ui/array-slice-vec/match_arr_unknown_len.rs | 11 | ||||
| -rw-r--r-- | src/test/ui/array-slice-vec/match_arr_unknown_len.stderr | 20 |
4 files changed, 63 insertions, 0 deletions
diff --git a/src/test/ui/array-slice-vec/infer_array_len.rs b/src/test/ui/array-slice-vec/infer_array_len.rs new file mode 100644 index 00000000000..22fe7cb8838 --- /dev/null +++ b/src/test/ui/array-slice-vec/infer_array_len.rs @@ -0,0 +1,21 @@ +// see issue #70529 +struct A; + +impl From<A> for [u8; 2] { + fn from(a: A) -> Self { + [0; 2] + } +} + +impl From<A> for [u8; 3] { + fn from(a: A) -> Self { + [0; 3] + } +} + + +fn main() { + let a = A; + let [_, _] = a.into(); + //~^ ERROR type annotations needed +} diff --git a/src/test/ui/array-slice-vec/infer_array_len.stderr b/src/test/ui/array-slice-vec/infer_array_len.stderr new file mode 100644 index 00000000000..6eed4ce4f0c --- /dev/null +++ b/src/test/ui/array-slice-vec/infer_array_len.stderr @@ -0,0 +1,11 @@ +error[E0282]: type annotations needed + --> $DIR/infer_array_len.rs:19:9 + | +LL | let [_, _] = a.into(); + | ^^^^^^ consider giving this pattern a type + | + = note: type must be known at this point + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0282`. diff --git a/src/test/ui/array-slice-vec/match_arr_unknown_len.rs b/src/test/ui/array-slice-vec/match_arr_unknown_len.rs new file mode 100644 index 00000000000..7f3da75ddcb --- /dev/null +++ b/src/test/ui/array-slice-vec/match_arr_unknown_len.rs @@ -0,0 +1,11 @@ +#![feature(const_generics)] +//~^ WARN the feature `const_generics` is incomplete and may cause the compiler to crash + +fn is_123<const N: usize>(x: [u32; N]) -> bool { + match x { + [1, 2] => true, //~ ERROR mismatched types + _ => false + } +} + +fn main() {} diff --git a/src/test/ui/array-slice-vec/match_arr_unknown_len.stderr b/src/test/ui/array-slice-vec/match_arr_unknown_len.stderr new file mode 100644 index 00000000000..9edb139028b --- /dev/null +++ b/src/test/ui/array-slice-vec/match_arr_unknown_len.stderr @@ -0,0 +1,20 @@ +warning: the feature `const_generics` is incomplete and may cause the compiler to crash + --> $DIR/match_arr_unknown_len.rs:1:12 + | +LL | #![feature(const_generics)] + | ^^^^^^^^^^^^^^ + | + = note: `#[warn(incomplete_features)]` on by default + +error[E0308]: mismatched types + --> $DIR/match_arr_unknown_len.rs:6:9 + | +LL | [1, 2] => true, + | ^^^^^^ expected `2usize`, found `N` + | + = note: expected array `[u32; 2]` + found array `[u32; _]` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0308`. |
