-- in.cue -- #TopLevel: [name=string]: { path: string content: string } #Mid: #TopLevel & { myoutput: path: "/output" } val: #Mid & {} & {myoutput: {content: "foo"}} // Should work. -- out/eval/stats -- Leaks: 0 Freed: 10 Reused: 6 Allocs: 4 Retain: 0 Unifications: 10 Conjuncts: 23 Disjuncts: 10 -- out/evalalpha -- (struct){ #TopLevel: (#struct){ } #Mid: (#struct){ myoutput: (#struct){ path: (string){ "/output" } content: (string){ string } } } val: (#struct){ myoutput: (#struct){ content: (string){ "foo" } path: (string){ "/output" } } } } -- diff/-out/evalalpha<==>+out/eval -- diff old new --- old +++ new @@ -9,8 +9,8 @@ } val: (#struct){ myoutput: (#struct){ - path: (string){ "/output" } content: (string){ "foo" } + path: (string){ "/output" } } } } -- diff/todo/p3 -- Reordering -- out/eval -- (struct){ #TopLevel: (#struct){ } #Mid: (#struct){ myoutput: (#struct){ path: (string){ "/output" } content: (string){ string } } } val: (#struct){ myoutput: (#struct){ path: (string){ "/output" } content: (string){ "foo" } } } } -- out/compile -- --- in.cue { #TopLevel: { [string]: { path: string content: string } } #Mid: (〈0;#TopLevel〉 & { myoutput: { path: "/output" } }) val: ((〈0;#Mid〉 & {}) & { myoutput: { content: "foo" } }) }