# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: disjunctions of lists
#evalPartial
-- in.cue --
l: [ int, int] | [ string, string]

l1: [ "a", "b"]
l2: l & [ "c", "d"]
-- out/def --
l: [int, int] | [string, string]
l1: ["a", "b"]
l2: ["c", "d"]
-- out/legacy-debug --
<0>{l: ([int,int] | [string,string]), l1: ["a","b"], l2: ["c","d"]}
-- out/compile --
--- in.cue
{
  l: ([
    int,
    int,
  ]|[
    string,
    string,
  ])
  l1: [
    "a",
    "b",
  ]
  l2: (〈0;l〉 & [
    "c",
    "d",
  ])
}
-- out/eval --
(struct){
  l: (list){ |((#list){
      0: (int){ int }
      1: (int){ int }
    }, (#list){
      0: (string){ string }
      1: (string){ string }
    }) }
  l1: (#list){
    0: (string){ "a" }
    1: (string){ "b" }
  }
  l2: (#list){
    0: (string){ "c" }
    1: (string){ "d" }
  }
}
