]> git.lizzy.rs Git - rust.git/commitdiff
Improve E0730 explanation
authorGuillaume Gomez <guillaume1.gomez@gmail.com>
Thu, 30 Jul 2020 11:51:22 +0000 (13:51 +0200)
committerGuillaume Gomez <guillaume1.gomez@gmail.com>
Thu, 30 Jul 2020 11:51:22 +0000 (13:51 +0200)
src/librustc_error_codes/error_codes/E0730.md

index d385009063f78ed20ad6a134bbe3f24f1cff52d4..016b3f38aa310598bba2365a47289709238af03a 100644 (file)
@@ -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
     }
 }
 ```