# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: continue recursive closing for optionals
#evalFull
-- in.cue --
#S: {
	[string]: {a: int}
}
a: #S & {
	v: {b: int}
}
-- out/def --
#S: {
	[string]: {
		a: int
	}
}
a: #S & {
	v: {
		b: int
	}
}
-- out/legacy-debug --
<0>{#S: <1>{[]: <2>(_: string)-><3>C{a: int}, }, a: <4>{[]: <5>(_: string)-><6>C{a: int}, v: _|_(int:field "b" not allowed in closed struct)}}
-- out/compile --
--- in.cue
{
  #S: {
    [string]: {
      a: int
    }
  }
  a: (〈0;#S〉 & {
    v: {
      b: int
    }
  })
}
-- out/eval --
Errors:
a.v: field `b` not allowed

Result:
(_|_){
  // [eval]
  #S: (#struct){
  }
  a: (_|_){
    // [eval]
    v: (_|_){
      // [eval] a.v: field `b` not allowed
      b: (int){ int }
      a: (int){ int }
    }
  }
}
