1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
#path: a.b
-- in.cue --
E=ext: one: 1
E1=("ext1"): two: 2
E2=("ext2"): { three: 3, a: int}
a: B=b: {
x: string
y: B.x
// TODO: use with non-concrete value. Right now, this causes the reference
// above to not shorten (it will point to b, instead of x, as x won't be
// reachable).
// Reevaluated after value aliases for embeddings are implemented.
z: "string"
X=(z): 4
Y=("y"): "foo"
enclosed: {
V=x: string
y: B.enclosed.x
z: V
// Comment.
labelX: X
labelY: Y
}
hoisted: {
"ext1": E
ext2: E
ext3: E1
ext4: E2
ext5: E2.a
}
other: [INNER=string]: name: INNER
}
[NAME=string]: b: name: NAME
-- out/self/default --
{
x: string
y: x
// TODO: use with non-concrete value. Right now, this causes the reference
// above to not shorten (it will point to b, instead of x, as x won't be
// reachable).
// Reevaluated after value aliases for embeddings are implemented.
z: "string"
X=(z): 4
Y="y": "foo"
enclosed: {
V=x: string
y: enclosed.x
z: V
// Comment.
labelX: X
labelY: Y
}
hoisted: {
ext1: EXT
ext2: EXT
ext3: {
two: 2
b: {
name: "ext1"
}
}
ext4: EXT2
ext5: EXT2.a
}
other: {
[INNER=string]: {
name: INNER
}
}
}
name: "a"
//cue:path: ext
let EXT = {
one: 1
b: {
name: "ext"
}
}
//cue:path: ext2
let EXT2 = {
three: 3
b: {
name: "ext2"
}
a: int
}
|