diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2020-07-30 13:51:22 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2020-07-30 13:51:22 +0200 |
| commit | 89e4fe33130a17888a2add6baadd850653263242 (patch) | |
| tree | c1effcc6d83ba12df508f8e1104140a886299bf5 /src/librustc_error_codes/error_codes | |
| parent | 1d2e3fff69b654c3dfd6a810e193db29bb1868fa (diff) | |
Improve E0730 explanation
Diffstat (limited to 'src/librustc_error_codes/error_codes')
| -rw-r--r-- | src/librustc_error_codes/error_codes/E0730.md | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/src/librustc_error_codes/error_codes/E0730.md b/src/librustc_error_codes/error_codes/E0730.md index d385009063f..016b3f38aa3 100644 --- a/src/librustc_error_codes/error_codes/E0730.md +++ b/src/librustc_error_codes/error_codes/E0730.md @@ -14,14 +14,28 @@ fn is_123<const N: usize>(x: [u32; N]) -> bool { } ``` -Ensure that the pattern is consistent with the size of the matched array. -Additional elements can be matched with `..`: +To fix this error, you have two solutions: + 1. Use an array with a fixed length. + 2. Use a slice. +Example with an array with a fixed length: + +``` +fn is_123(x: [u32; 3]) -> bool { // We use an array with a fixed size + match x { + [1, 2, ..] => true, // ok! + _ => false + } +} ``` -let r = &[1, 2, 3, 4]; -match r { - &[a, b, ..] => { // ok! - println!("a={}, b={}", a, b); + +Example with a slice: + +``` +fn is_123(x: &[u32]) -> bool { // We use a slice + match x { + [1, 2, ..] => true, // ok! + _ => false } } ``` |
