-- in.cue -- bulkToSelf: { a: { foo: [string]: int foo: bar: "3" // error } } intField: { (2): string } -- out/compile -- --- in.cue { bulkToSelf: { a: { foo: { [string]: int } foo: { bar: "3" } } } intField: { 2: string } } -- out/eval/stats -- Leaks: 0 Freed: 7 Reused: 2 Allocs: 5 Retain: 0 Unifications: 7 Conjuncts: 9 Disjuncts: 7 -- out/evalalpha -- Errors: bulkToSelf.a.foo.bar: conflicting values "3" and int (mismatched types string and int): ./in.cue:3:18 ./in.cue:4:18 intField: integer fields not supported: ./in.cue:8:3 Result: (_|_){ // [eval] bulkToSelf: (_|_){ // [eval] a: (_|_){ // [eval] foo: (_|_){ // [eval] bar: (_|_){ // [eval] bulkToSelf.a.foo.bar: conflicting values "3" and int (mismatched types string and int): // ./in.cue:3:18 // ./in.cue:4:18 } } } } intField: (_|_){ // [eval] intField: integer fields not supported: // ./in.cue:8:3 } } -- diff/-out/evalalpha<==>+out/eval -- diff old new --- old +++ new @@ -25,6 +25,5 @@ intField: (_|_){ // [eval] intField: integer fields not supported: // ./in.cue:8:3 - 2: (string){ string } } } -- diff/explanation -- Not including illegal field. Seems fine. -- out/eval -- Errors: bulkToSelf.a.foo.bar: conflicting values "3" and int (mismatched types string and int): ./in.cue:3:18 ./in.cue:4:18 intField: integer fields not supported: ./in.cue:8:3 Result: (_|_){ // [eval] bulkToSelf: (_|_){ // [eval] a: (_|_){ // [eval] foo: (_|_){ // [eval] bar: (_|_){ // [eval] bulkToSelf.a.foo.bar: conflicting values "3" and int (mismatched types string and int): // ./in.cue:3:18 // ./in.cue:4:18 } } } } intField: (_|_){ // [eval] intField: integer fields not supported: // ./in.cue:8:3 2: (string){ string } } }