# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: index
#evalPartial
-- in.cue --
a: [2][0]
b: {foo:       "bar"}["foo"]
c: (*l | {"3": 3})["3"]
d: (*[] | [1])[0]
l: []
e1: [2][""]
e2: 2[2]
e3: [][true]
e4: [1, 2, 3][3]
e5: [1, 2, 3][-1]
e6: (*[] | {})[1]
def: {
	a:  1
	#b: 3
}
e7: def["b"]
-- out/def --
a: 2
b: "bar"
c: _|_ // invalid list index "3" (type string)
l: []
d:  _|_ // index 0 out of bounds
e1: _|_ // invalid list index "" (type string)
e2: _|_ // invalid operation: 2[2] (type int does not support indexing)
e3: _|_ // invalid list index true (type bool)
e4: _|_ // index 3 out of bounds
e5: _|_ // invalid list index -1 (index must be non-negative)
e6: _|_ // index 1 out of bounds
def: {
	a:  1
	#b: 3
}
e7: def["b"]
-- out/legacy-debug --
<0>{a: 2, b: "bar", c: _|_("3":invalid list index "3" (type string)), l: [], d: _|_([]:index 0 out of bounds), e1: _|_("":invalid list index "" (type string)), e2: _|_(2:invalid operation: 2[2] (type int does not support indexing)), e3: _|_(true:invalid list index true (type bool)), e4: _|_([1,2,3]:index 3 out of bounds), e5: _|_(-1:invalid list index -1 (index must be non-negative)), e6: _|_([]:index 1 out of bounds), def: <1>{a: 1, #b: 3}, e7: <2>.def["b"]}
-- out/compile --
--- in.cue
{
  a: [
    2,
  ][0]
  b: {
    foo: "bar"
  }["foo"]
  c: (*〈0;l〉|{
    "3": 3
  })["3"]
  d: (*[]|[
    1,
  ])[0]
  l: []
  e1: [
    2,
  ][""]
  e2: 2[2]
  e3: [][true]
  e4: [
    1,
    2,
    3,
  ][3]
  e5: [
    1,
    2,
    3,
  ][-1]
  e6: (*[]|{})[1]
  def: {
    a: 1
    #b: 3
  }
  e7: 〈0;def〉["b"]
}
-- out/eval --
Errors:
invalid list index "3" (type string):
    ./in.cue:3:20
undefined field 0:
    ./in.cue:4:16
invalid list index _ (type string):
    ./in.cue:6:9
invalid operand 2 (found int, want list or struct):
    ./in.cue:7:5
invalid label type bool:
    ./in.cue:8:5
undefined field 3:
    ./in.cue:9:15
invalid negative index -1:
    ./in.cue:10:5
invalid list index 1 (out of bounds):
    ./in.cue:11:16

Result:
(_|_){
  // [eval]
  a: (int){ 2 }
  b: (string){ "bar" }
  c: (_|_){
    // [eval] invalid list index "3" (type string):
    //     ./in.cue:3:20
  }
  d: (_|_){
    // [eval] undefined field 0:
    //     ./in.cue:4:16
  }
  l: (#list){
  }
  e1: (_|_){
    // [eval] invalid list index _ (type string):
    //     ./in.cue:6:9
  }
  e2: (_|_){
    // [eval] invalid operand 2 (found int, want list or struct):
    //     ./in.cue:7:5
  }
  e3: (_|_){
    // [eval] invalid label type bool:
    //     ./in.cue:8:5
  }
  e4: (_|_){
    // [eval] undefined field 3:
    //     ./in.cue:9:15
  }
  e5: (_|_){
    // [eval] invalid negative index -1:
    //     ./in.cue:10:5
  }
  e6: (_|_){
    // [eval] invalid list index 1 (out of bounds):
    //     ./in.cue:11:16
  }
  def: (struct){
    a: (int){ 1 }
    #b: (int){ 3 }
  }
  e7: (_|_){
    // [incomplete] undefined field b:
    //     ./in.cue:16:9
  }
}
