# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: issue318
#evalFull
-- in.cue --
#T: {
	arg: x: string
	out1: "\(arg.x) \(arg.y)"
	out2: "\(arg.y)"
	vx:   arg.x
	vy:   arg.y
}
-- out/def --
#T: {
	arg: {
		x: string
	}
	out1: _|_ // undefined field "y"
	out2: _|_ // undefined field "y"
	vx:   arg.x
	vy:   _|_ // undefined field "y"
}
-- out/export --

-- out/yaml --
{}
-- out/json --
{}
-- out/legacy-debug --
<0>{#T: <1>C{arg: <2>C{x: string}, out1: _|_(<3>.arg.y:undefined field "y"), out2: _|_(<3>.arg.y:undefined field "y"), vx: string, vy: _|_(<3>.arg.y:undefined field "y")}}
-- out/compile --
--- in.cue
{
  #T: {
    arg: {
      x: string
    }
    out1: "\(〈0;arg〉.x) \(〈0;arg〉.y)"
    out2: "\(〈0;arg〉.y)"
    vx: 〈0;arg〉.x
    vy: 〈0;arg〉.y
  }
}
-- out/eval --
Errors:
#T.out1: invalid interpolation: undefined field y:
    ./in.cue:3:8
#T.out2: invalid interpolation: undefined field y:
    ./in.cue:4:8
#T.vy: undefined field y:
    ./in.cue:6:12

Result:
(_|_){
  // [eval]
  #T: (_|_){
    // [eval]
    arg: (#struct){
      x: (string){ string }
    }
    out1: (_|_){
      // [eval] #T.out1: invalid interpolation: undefined field y:
      //     ./in.cue:3:8
    }
    out2: (_|_){
      // [eval] #T.out2: invalid interpolation: undefined field y:
      //     ./in.cue:4:8
    }
    vx: (string){ string }
    vy: (_|_){
      // [eval] #T.vy: undefined field y:
      //     ./in.cue:6:12
    }
  }
}
