Disallow array with zero size
diff --git a/syntax/parse.rs b/syntax/parse.rs
index 18809b5..018e71a 100644
--- a/syntax/parse.rs
+++ b/syntax/parse.rs
@@ -767,9 +767,14 @@
         return Err(Error::new_spanned(len_expr, msg));
     };
 
+    let len = len_token.base10_parse::<usize>()?;
+    if len == 0 {
+        let msg = "array with zero size is not supported";
+        return Err(Error::new_spanned(ty, msg));
+    }
+
     let bracket = ty.bracket_token;
     let semi_token = ty.semi_token;
-    let len = len_token.base10_parse::<usize>()?;
 
     Ok(Type::Array(Box::new(Array {
         bracket,
diff --git a/tests/ui/array_len_expr.rs b/tests/ui/array_len_expr.rs
index 1e1a548..73da57c 100644
--- a/tests/ui/array_len_expr.rs
+++ b/tests/ui/array_len_expr.rs
@@ -3,6 +3,7 @@
     struct Shared {
         arraystr: [String; "13"],
         arraysub: [String; 15 - 1],
+        arrayzero: [String; 0],
     }
 }
 
diff --git a/tests/ui/array_len_expr.stderr b/tests/ui/array_len_expr.stderr
index bbd7d11..4b45a0b 100644
--- a/tests/ui/array_len_expr.stderr
+++ b/tests/ui/array_len_expr.stderr
@@ -9,3 +9,9 @@
   |
 5 |         arraysub: [String; 15 - 1],
   |                            ^^^^^^
+
+error: array with zero size is not supported
+ --> $DIR/array_len_expr.rs:6:20
+  |
+6 |         arrayzero: [String; 0],
+  |                    ^^^^^^^^^^^