mirror of
https://github.com/typst/typst
synced 2025-05-17 02:25:27 +08:00
check index on placeholder (#1005)
This commit is contained in:
parent
0d8c3254b7
commit
8fa1af8ac8
@ -1268,7 +1268,13 @@ impl ast::Pattern {
|
|||||||
ast::DestructuringKind::Named(named) => {
|
ast::DestructuringKind::Named(named) => {
|
||||||
bail!(named.span(), "cannot destructure named elements from an array")
|
bail!(named.span(), "cannot destructure named elements from an array")
|
||||||
}
|
}
|
||||||
ast::DestructuringKind::Placeholder(_) => i += 1,
|
ast::DestructuringKind::Placeholder(underscore) => {
|
||||||
|
if i < value.len() {
|
||||||
|
i += 1
|
||||||
|
} else {
|
||||||
|
bail!(underscore.span(), "not enough elements to destructure")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if i < value.len() {
|
if i < value.len() {
|
||||||
|
@ -177,6 +177,12 @@ Three
|
|||||||
#let (a, ..) = (a: 1, b: 2)
|
#let (a, ..) = (a: 1, b: 2)
|
||||||
#test(a, 1)
|
#test(a, 1)
|
||||||
|
|
||||||
|
---
|
||||||
|
// Trailing placeholders.
|
||||||
|
// Error: 10-11 not enough elements to destructure
|
||||||
|
#let (a, _, _, _, _) = (1,)
|
||||||
|
#test(a, 1)
|
||||||
|
|
||||||
---
|
---
|
||||||
// Error: 10-13 expected identifier, found string
|
// Error: 10-13 expected identifier, found string
|
||||||
// Error: 18-19 expected identifier, found integer
|
// Error: 18-19 expected identifier, found integer
|
||||||
|
Loading…
x
Reference in New Issue
Block a user