# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: lists
#evalPartial
-- in.cue --
list: [1, 2, 3]
index: [1, 2, 3][1]
unify: [1, 2, 3] & [_, 2, 3]
e:     [] & 4
e2:    [3]["d"]
e3:    [3][-1]
e4:    [1, 2, ...>=4 & <=5] & [1, 2, 4, 8]
e5:    [1, 2, 4, 8] & [1, 2, ...>=4 & <=5]
-- out/def --
list: [1, 2, 3]
index: 2
unify: [1, 2, 3]
e:  _|_ // conflicting values [] and 4 (mismatched types list and int)
e2: _|_ // invalid list index "d" (type string)
e3: _|_ // invalid list index -1 (index must be non-negative)
e4: [1, 2, 4, _|_, // invalid value 8 (out of bound <=5)
]
e5: [1, 2, 4, _|_, // invalid value 8 (out of bound <=5)
]
-- out/legacy-debug --
<0>{list: [1,2,3], index: 2, unify: [1,2,3], e: _|_(([] & 4):conflicting values [] and 4 (mismatched types list and int)), e2: _|_("d":invalid list index "d" (type string)), e3: _|_(-1:invalid list index -1 (index must be non-negative)), e4: [1,2,4,_|_((<=5 & 8):invalid value 8 (out of bound <=5))], e5: [1,2,4,_|_((<=5 & 8):invalid value 8 (out of bound <=5))]}
-- out/compile --
--- in.cue
{
  list: [
    1,
    2,
    3,
  ]
  index: [
    1,
    2,
    3,
  ][1]
  unify: ([
    1,
    2,
    3,
  ] & [
    _,
    2,
    3,
  ])
  e: ([] & 4)
  e2: [
    3,
  ]["d"]
  e3: [
    3,
  ][-1]
  e4: ([
    1,
    2,
    ...(>=4 & <=5),
  ] & [
    1,
    2,
    4,
    8,
  ])
  e5: ([
    1,
    2,
    4,
    8,
  ] & [
    1,
    2,
    ...(>=4 & <=5),
  ])
}
-- out/eval --
Errors:
conflicting types
invalid value 8 (out of bound <=5)
invalid list index d (type string):
    ./in.cue:5:12
invalid negative index -1:
    ./in.cue:6:8

Result:
(_|_){
  // [eval]
  list: (#list){
    0: (int){ 1 }
    1: (int){ 2 }
    2: (int){ 3 }
  }
  index: (int){ 2 }
  unify: (#list){
    0: (int){ 1 }
    1: (int){ 2 }
    2: (int){ 3 }
  }
  e: (_|_){
    // [eval] conflicting types
  }
  e2: (_|_){
    // [eval] invalid list index d (type string):
    //     ./in.cue:5:12
  }
  e3: (_|_){
    // [eval] invalid negative index -1:
    //     ./in.cue:6:8
  }
  e4: (_|_){
    // [eval]
    0: (int){ 1 }
    1: (int){ 2 }
    2: (int){ 4 }
    3: (_|_){
      // [eval] invalid value 8 (out of bound <=5)
    }
  }
  e5: (_|_){
    // [eval]
    0: (int){ 1 }
    1: (int){ 2 }
    2: (int){ 4 }
    3: (_|_){
      // [eval] invalid value 8 (out of bound <=5)
    }
  }
}
