...
1-- in.cue --
2package compile
3
4import "list"
5
6dis1: "dev" | "prd"
7dis2: *"dev" | "prd"
8
9con1: string
10let con2 = string
11
12ok0: [string]: string
13ok1: [name=string]: string
14ok2: [con1]: string
15ok3: [con2]: string
16ok4: ["foo"]: string
17ok5: [1]: string // disallowed in evaluator
18ok6: [name=1]: string // disallowed in evaluator
19ok7: [dis1]: string
20ok8: [dis2]: string
21ok9: [name=dis2]: string
22ok10: [{foo: "bar"}]: string // disallowed in evaluator
23ok11: [list.FlattenN([string], 1)]: string // disallowed in evaluator
24
25bad1: [for x in [1, 2, 3] {x}]: string
26
27saneReferencesInComprehensions: {
28 for _ in [1] {
29 a: _ // Should not compile to a reference.
30 }
31}
32-- out/compile --
33bad1: comprehension values not allowed in this position:
34 ./in.cue:24:8
35--- in.cue
36{
37 dis1: ("dev"|"prd")
38 dis2: (*"dev"|"prd")
39 con1: string
40 let con2#1 = string
41 ok0: {
42 [string]: string
43 }
44 ok1: {
45 [string]: string
46 }
47 ok2: {
48 [〈1;con1〉]: string
49 }
50 ok3: {
51 [〈1;let con2#1〉]: string
52 }
53 ok4: {
54 ["foo"]: string
55 }
56 ok5: {
57 [1]: string
58 }
59 ok6: {
60 [1]: string
61 }
62 ok7: {
63 [〈1;dis1〉]: string
64 }
65 ok8: {
66 [〈1;dis2〉]: string
67 }
68 ok9: {
69 [〈1;dis2〉]: string
70 }
71 ok10: {
72 [{
73 foo: "bar"
74 }]: string
75 }
76 ok11: {
77 [〈import;list〉.FlattenN([
78 string,
79 ], 1)]: string
80 }
81 bad1: {
82 [_|_(comprehension values not allowed in this position)]: string
83 }
84 saneReferencesInComprehensions: {
85 for _, _ in [
86 1,
87 ] {
88 a: _
89 }
90 }
91}
92-- out/eval --
93bad1: comprehension values not allowed in this position:
94 ./in.cue:24:8
View as plain text