#name: label and field aliases
#evalFull
-- in.cue --
p: [ID=string]: {name: ID}
A="foo=bar": "str"
a:           A
B=bb:        4
b1:          B
b1:          bb
C="\(a)":    5
c:           C
-- out/def --
p: {
	[ID=string]: {
		name: ID
	}
}
"foo=bar": "str"
a:         "str"
bb:        4
b1:        4
c:         5
str:       5
-- out/export --
p: {}
"foo=bar": "str"
a:         "str"
bb:        4
b1:        4
c:         5
str:       5
-- out/yaml --
p: {}
foo=bar: str
a: str
bb: 4
b1: 4
c: 5
str: 5
-- out/json --
{"p":{},"foo=bar":"str","a":"str","bb":4,"b1":4,"c":5,"str":5}
-- out/legacy-debug --
<0>{p: <1>{[]: <2>(ID: string)-><3>{name: <2>.ID}, }, "foo=bar": "str", a: "str", bb: 4, b1: 4, c: 5, str: 5}
-- out/compile --
--- in.cue
{
  p: {
    [string]: {
      name: 〈1;-〉
    }
  }
  "foo=bar": "str"
  a: 〈0;"foo=bar"〉
  bb: 4
  b1: 〈0;bb〉
  b1: 〈0;bb〉
  "\(〈0;a〉)": 5
  c: 〈0;("\(〈0;a〉)")〉
}
-- out/eval/stats --
Leaks:  0
Freed:  8
Reused: 4
Allocs: 4
Retain: 3

Unifications: 8
Conjuncts:    10
Disjuncts:    9
-- out/eval --
(struct){
  p: (struct){
  }
  "foo=bar": (string){ "str" }
  a: (string){ "str" }
  bb: (int){ 4 }
  b1: (int){ 4 }
  c: (int){ 5 }
  str: (int){ 5 }
}
