
-- in.cue --
#T: {
	if true {
		// We'd like to restrict the possible members of x in this case,
		// but this doesn't work.
		x: close({
			f1: int
		})
	}
	x: _
}
z: #T & {
	x: {
		f1: 99
		f2: "i want to disallow this"
	}
}

t: #C
#C: {
	if true {
		p: _
	}
}
t: p: "foo"
-- out/eval --
Errors:
z.x: field `f2` not allowed:
    ./in.cue:5:12
    ./in.cue:11:4
    ./in.cue:14:3

Result:
(_|_){
  // [eval]
  #T: (#struct){
    x: (#struct){
      f1: (int){ int }
    }
  }
  z: (_|_){
    // [eval]
    x: (_|_){
      // [eval]
      f1: (int){ 99 }
      f2: (_|_){
        // [eval] z.x: field `f2` not allowed:
        //     ./in.cue:5:12
        //     ./in.cue:11:4
        //     ./in.cue:14:3
      }
    }
  }
  t: (#struct){
    p: (string){ "foo" }
  }
  #C: (#struct){
    p: (_){ _ }
  }
}
-- out/compile --
--- in.cue
{
  #T: {
    if true {
      x: close({
        f1: int
      })
    }
    x: _
  }
  z: (〈0;#T〉 & {
    x: {
      f1: 99
      f2: "i want to disallow this"
    }
  })
  t: 〈0;#C〉
  #C: {
    if true {
      p: _
    }
  }
  t: {
    p: "foo"
  }
}
