# 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:
e: conflicting values 4 and [] (mismatched types int and list):
    ./in.cue:4:8
    ./in.cue:4:13
e2: invalid list index d (type string):
    ./in.cue:5:12
e3: invalid negative index -1:
    ./in.cue:6:8
e4.3: invalid value 8 (out of bound <=5):
    ./in.cue:7:24
    ./in.cue:7:41
e5.3: invalid value 8 (out of bound <=5):
    ./in.cue:8:39
    ./in.cue:8:18

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] e: conflicting values 4 and [] (mismatched types int and list):
    //     ./in.cue:4:8
    //     ./in.cue:4:13
  }
  e2: (_|_){
    // [eval] e2: invalid list index d (type string):
    //     ./in.cue:5:12
  }
  e3: (_|_){
    // [eval] e3: invalid negative index -1:
    //     ./in.cue:6:8
  }
  e4: (_|_){
    // [eval]
    0: (int){ 1 }
    1: (int){ 2 }
    2: (int){ 4 }
    3: (_|_){
      // [eval] e4.3: invalid value 8 (out of bound <=5):
      //     ./in.cue:7:24
      //     ./in.cue:7:41
    }
  }
  e5: (_|_){
    // [eval]
    0: (int){ 1 }
    1: (int){ 2 }
    2: (int){ 4 }
    3: (_|_){
      // [eval] e5.3: invalid value 8 (out of bound <=5):
      //     ./in.cue:8:39
      //     ./in.cue:8:18
    }
  }
}
