mirror of
https://github.com/typst/typst
synced 2025-05-14 17:15:28 +08:00
68 lines
1.4 KiB
XML
68 lines
1.4 KiB
XML
// Issue #3275: clearer errors for loops, https://github.com/typst/typst/issues/3275
|
|
// Ref: false
|
|
|
|
---
|
|
// Normal variable.
|
|
#for x in (1, 2) {}
|
|
#for x in (a: 1, b: 2) {}
|
|
#for x in "foo" {}
|
|
#for x in bytes("😊") {}
|
|
|
|
---
|
|
// Placeholder.
|
|
#for _ in (1, 2) {}
|
|
#for _ in (a: 1, b: 2) {}
|
|
#for _ in "foo" {}
|
|
#for _ in bytes("😊") {}
|
|
|
|
---
|
|
// Destructuring.
|
|
#for (a,b,c) in (("a", 1, bytes(())), ("b", 2, bytes(""))) {}
|
|
#for (a, ..) in (("a", 1, bytes(())), ("b", 2, bytes(""))) {}
|
|
#for (k, v) in (a: 1, b: 2, c: 3) {}
|
|
#for (.., v) in (a: 1, b: 2, c: 3) {}
|
|
|
|
---
|
|
// Error: 11-17 cannot loop over content
|
|
#for x in [1, 2] {}
|
|
|
|
---
|
|
// Error: 11-25 cannot loop over arguments
|
|
#for _ in arguments("a") {}
|
|
|
|
---
|
|
// Error: 16-21 cannot loop over integer
|
|
#for (x, y) in 12306 {}
|
|
|
|
---
|
|
// Error: 16-22 cannot loop over content
|
|
#for (x, y) in [1, 2] {}
|
|
|
|
---
|
|
// Error: 6-12 cannot destructure values of string
|
|
#for (x, y) in "foo" {}
|
|
|
|
---
|
|
// Error: 6-12 cannot destructure string
|
|
#for (x, y) in ("foo", "bar") {}
|
|
|
|
---
|
|
// Error: 6-12 cannot destructure values of bytes
|
|
#for (x, y) in bytes("😊") {}
|
|
|
|
---
|
|
// Error: 6-12 cannot destructure bytes
|
|
#for (x, y) in (bytes((1,2)), bytes((1,2))) {}
|
|
|
|
---
|
|
// Error: 6-12 cannot destructure integer
|
|
#for (x, y) in (1, 2) {}
|
|
|
|
---
|
|
// Error: 10-11 not enough elements to destructure
|
|
#for (x, y) in ((1,), (2,)) {}
|
|
|
|
---
|
|
// Error: 6-12 too many elements to destructure
|
|
#for (x, y) in ((1,2,3), (4,5,6)) {}
|