# DO NOT EDIT; generated by go run testdata/gen.go
#
#name: diamond-shaped constraints
#evalPartial
-- in.cue --
S: {
	A: {
		a: 1
	}
	B: A & {
		b: 2
	}
}
T: S & {// S == { A: { a:1 }, B: { a:1, b:2 } }
	A: {
		c: 3
	}
	B: {
		d: 4 // Combines constraints S.A, S.B, T.A, and T.B // S.B & A
	}
}
-- out/def --
T: S & {
	A: {
		c: 3
	}
	B: {
		d: 4
	}
}
S: {
	A: {
		a: 1
	}
	B: A & {
		b: 2
	}
}
-- out/export --
T: {
	A: {
		a: 1
		c: 3
	}
	B: {
		a: 1
		b: 2
		c: 3
		d: 4
	}
}
S: {
	A: {
		a: 1
	}
	B: {
		a: 1
		b: 2
	}
}
-- out/yaml --
T:
  A:
    a: 1
    c: 3
  B:
    a: 1
    b: 2
    c: 3
    d: 4
S:
  A:
    a: 1
  B:
    a: 1
    b: 2
-- out/json --
{"T":{"A":{"a":1,"c":3},"B":{"a":1,"b":2,"c":3,"d":4}},"S":{"A":{"a":1},"B":{"a":1,"b":2}}}
-- out/legacy-debug --
<0>{T: <1>{A: <2>{a: 1, c: 3}, B: <3>{a: 1, b: 2, c: 3, d: 4}}, S: <4>{A: <5>{a: 1}, B: <6>{a: 1, b: 2}}}
-- out/compile --
--- in.cue
{
  S: {
    A: {
      a: 1
    }
    B: (〈0;A〉 & {
      b: 2
    })
  }
  T: (〈0;S〉 & {
    A: {
      c: 3
    }
    B: {
      d: 4
    }
  })
}
-- out/eval --
(struct){
  S: (struct){
    A: (struct){
      a: (int){ 1 }
    }
    B: (struct){
      a: (int){ 1 }
      b: (int){ 2 }
    }
  }
  T: (struct){
    A: (struct){
      a: (int){ 1 }
      c: (int){ 3 }
    }
    B: (struct){
      a: (int){ 1 }
      c: (int){ 3 }
      b: (int){ 2 }
      d: (int){ 4 }
    }
  }
}
