# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: optionals in open structs
#evalFull
-- in.cue --
A: {
	[=~"^[a-s]*$"]: int
}
B: {
	[=~"^[m-z]*$"]: int
}
#C: {A & B}
c: #C & {aaa: 3}
-- out/def --
A: {
	[=~"^[a-s]*$"]: int
}
B: {
	[=~"^[m-z]*$"]: int
}
#C: {
	A & B
}
c: #C & {
	aaa: 3
}
-- out/export --
A: {}
B: {}
c: {
	aaa: 3
}
-- out/yaml --
A: {}
B: {}
c:
  aaa: 3
-- out/json --
{"A":{},"B":{},"c":{"aaa":3}}
-- out/legacy-debug --
<0>{A: <1>{[=~"^[a-s]*$"]: <2>(_: string)->int, }, B: <3>{[=~"^[m-z]*$"]: <4>(_: string)->int, }, #C: <5>C{[=~"^[a-s]*$"]: <6>(_: string)->int, [=~"^[m-z]*$"]: <7>(_: string)->int, }, c: <8>C{[=~"^[a-s]*$"]: <9>(_: string)->int, [=~"^[m-z]*$"]: <10>(_: string)->int, aaa: 3}}
-- out/compile --
--- in.cue
{
  A: {
    [=~"^[a-s]*$"]: int
  }
  B: {
    [=~"^[m-z]*$"]: int
  }
  #C: {
    (〈1;A〉 & 〈1;B〉)
  }
  c: (〈0;#C〉 & {
    aaa: 3
  })
}
-- out/eval --
(struct){
  A: (struct){
  }
  B: (struct){
  }
  #C: (#struct){
  }
  c: (#struct){
    aaa: (int){ 3 }
  }
}
