# Tests that embedding a definition (#C1) inside another definition (#C2) and
# then unifying with a concrete struct correctly validates all fields.
# https://cuelang.org/issue/370
-- x.cue --
package x

#C1: {
	name: string
}

#C2: {
	#C1
	age: int
}

c1: #C1 & {
	name: "cueckoo"
}

c2: #C2 & {
	c1
	age: 5
}
-- out/compile --
--- x.cue
{
  #C1: {
    name: string
  }
  #C2: {
    〈1;#C1〉
    age: int
  }
  c1: (〈0;#C1〉 & {
    name: "cueckoo"
  })
  c2: (〈0;#C2〉 & {
    〈1;c1〉
    age: 5
  })
}
