// NOTE: do not add more tests to this file, as it may obfuscate the test case.

-- in.cue --
a: #A
a: c: 1
#A: {}
-- out/eval/stats --
Leaks:  0
Freed:  4
Reused: 1
Allocs: 3
Retain: 1

Unifications: 4
Conjuncts:    6
Disjuncts:    5
-- out/evalalpha --
Errors:
a.c: field not allowed:
    ./in.cue:2:4

Result:
(_|_){
  // [eval]
  a: (_|_){
    // [eval]
    c: (_|_){
      // [eval] a.c: field not allowed:
      //     ./in.cue:2:4
    }
  }
  #A: (#struct){
  }
}
-- diff/-out/evalalpha<==>+out/eval --
diff old new
--- old
+++ new
@@ -1,8 +1,6 @@
 Errors:
 a.c: field not allowed:
-    ./in.cue:1:4
     ./in.cue:2:4
-    ./in.cue:3:5
 
 Result:
 (_|_){
@@ -11,9 +9,7 @@
     // [eval]
     c: (_|_){
       // [eval] a.c: field not allowed:
-      //     ./in.cue:1:4
       //     ./in.cue:2:4
-      //     ./in.cue:3:5
     }
   }
   #A: (#struct){
-- diff/todo/p2 --
Missing error positions.
-- out/eval --
Errors:
a.c: field not allowed:
    ./in.cue:1:4
    ./in.cue:2:4
    ./in.cue:3:5

Result:
(_|_){
  // [eval]
  a: (_|_){
    // [eval]
    c: (_|_){
      // [eval] a.c: field not allowed:
      //     ./in.cue:1:4
      //     ./in.cue:2:4
      //     ./in.cue:3:5
    }
  }
  #A: (#struct){
  }
}
-- out/compile --
--- in.cue
{
  a: 〈0;#A〉
  a: {
    c: 1
  }
  #A: {}
}
