summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author+merlan #flirora <uruwi@protonmail.com>2024-10-07 15:28:30 -0400
committerGitHub <noreply@github.com>2024-10-07 19:28:30 +0000
commit037c0c82160088f5f8026e2b6808db20c874e8ad (patch)
tree82d196f2e1b265cbc366c6273554e2c77d729e76
parent1d2a222818991bcc3ade54fdd30480ce1fb8826f (diff)
Fix hint for destructuring to an array with at least 1 element (#5154)
-rw-r--r--crates/typst/src/eval/binding.rs1
-rw-r--r--tests/suite/scripting/destructuring.typ5
2 files changed, 6 insertions, 0 deletions
diff --git a/crates/typst/src/eval/binding.rs b/crates/typst/src/eval/binding.rs
index 89e536c0..18468b9e 100644
--- a/crates/typst/src/eval/binding.rs
+++ b/crates/typst/src/eval/binding.rs
@@ -195,6 +195,7 @@ fn wrong_number_of_elements(
let quantifier = if len > count { "too many" } else { "not enough" };
let expected = match (spread, count) {
+ (true, 1) => "at least 1 element".into(),
(true, c) => eco_format!("at least {c} elements"),
(false, 0) => "an empty array".into(),
(false, 1) => "a single element".into(),
diff --git a/tests/suite/scripting/destructuring.typ b/tests/suite/scripting/destructuring.typ
index e70f676f..3c0c754c 100644
--- a/tests/suite/scripting/destructuring.typ
+++ b/tests/suite/scripting/destructuring.typ
@@ -137,6 +137,11 @@
// Hint: 6-20 the provided array has a length of 2, but the pattern expects at least 3 elements
#let (..a, b, c, d) = (1, 2)
+--- destructuring-let-array-too-few-elements-with-sink-1-element ---
+// Error: 6-14 not enough elements to destructure
+// Hint: 6-14 the provided array has a length of 0, but the pattern expects at least 1 element
+#let (..a, b) = ()
+
--- destructuring-let-array-bool-invalid ---
// Error: 6-12 cannot destructure boolean
#let (a, b) = true