cuelang.org/go@v0.10.1/cue/testdata/eval/required.txtar (about)

     1  -- in.cue --
     2  self: t1: {
     3  	a?: int
     4  }
     5  
     6  self: t2: {
     7  	a!: int
     8  	a!: int
     9  }
    10  
    11  unify: t1: p1: {
    12  	a!: int
    13  	a: int
    14  }
    15  
    16  unify: t1: p2: {
    17  	a: int
    18  	a!: int
    19  }
    20  
    21  unify: t2: p1: {
    22  	a!: int
    23  	a?: int
    24  }
    25  
    26  unify: t2: p2: {
    27  	a?: int
    28  	a!: int
    29  }
    30  #Def: t1: {
    31  	a!: int
    32  }
    33  
    34  allowed: issue2306: {
    35  	#A: a!: int
    36  	#A: #B
    37  
    38  	#B: b!: int
    39  }
    40  -- out/compile --
    41  --- in.cue
    42  {
    43    self: {
    44      t1: {
    45        a?: int
    46      }
    47    }
    48    self: {
    49      t2: {
    50        a!: int
    51        a!: int
    52      }
    53    }
    54    unify: {
    55      t1: {
    56        p1: {
    57          a!: int
    58          a: int
    59        }
    60      }
    61    }
    62    unify: {
    63      t1: {
    64        p2: {
    65          a: int
    66          a!: int
    67        }
    68      }
    69    }
    70    unify: {
    71      t2: {
    72        p1: {
    73          a!: int
    74          a?: int
    75        }
    76      }
    77    }
    78    unify: {
    79      t2: {
    80        p2: {
    81          a?: int
    82          a!: int
    83        }
    84      }
    85    }
    86    #Def: {
    87      t1: {
    88        a!: int
    89      }
    90    }
    91    allowed: {
    92      issue2306: {
    93        #A: {
    94          a!: int
    95        }
    96        #A: 〈0;#B〉
    97        #B: {
    98          b!: int
    99        }
   100      }
   101    }
   102  }
   103  -- out/eval/stats --
   104  Leaks:  0
   105  Freed:  27
   106  Reused: 21
   107  Allocs: 6
   108  Retain: 1
   109  
   110  Unifications: 27
   111  Conjuncts:    40
   112  Disjuncts:    28
   113  -- out/evalalpha --
   114  (_|_){
   115    // [eval]
   116    self: (struct){
   117      t1: (struct){
   118        a?: (int){ int }
   119      }
   120      t2: (struct){
   121        a!: (int){ int }
   122      }
   123    }
   124    unify: (struct){
   125      t1: (struct){
   126        p1: (struct){
   127          a: (int){ int }
   128        }
   129        p2: (struct){
   130          a: (int){ int }
   131        }
   132      }
   133      t2: (struct){
   134        p1: (struct){
   135          a!: (int){ int }
   136        }
   137        p2: (struct){
   138          a!: (int){ int }
   139        }
   140      }
   141    }
   142    #Def: (#struct){
   143      t1: (#struct){
   144        a!: (int){ int }
   145      }
   146    }
   147    allowed: (_|_){
   148      // [eval]
   149      issue2306: (_|_){
   150        // [eval]
   151        #A: (_|_){
   152          // [eval]
   153          a!: (_|_){
   154            // [eval] allowed.issue2306.#A.a: field not allowed:
   155            //     ./in.cue:34:6
   156          }
   157          b!: (int){ int }
   158        }
   159        #B: (#struct){
   160          b!: (int){ int }
   161        }
   162      }
   163    }
   164  }
   165  -- diff/-out/evalalpha<==>+out/eval --
   166  diff old new
   167  --- old
   168  +++ new
   169  @@ -40,8 +40,6 @@
   170           a!: (_|_){
   171             // [eval] allowed.issue2306.#A.a: field not allowed:
   172             //     ./in.cue:34:6
   173  -          //     ./in.cue:35:6
   174  -          //     ./in.cue:37:6
   175           }
   176           b!: (int){ int }
   177         }
   178  -- diff/todo/p2 --
   179  Missing position.
   180  -- out/eval --
   181  (_|_){
   182    // [eval]
   183    self: (struct){
   184      t1: (struct){
   185        a?: (int){ int }
   186      }
   187      t2: (struct){
   188        a!: (int){ int }
   189      }
   190    }
   191    unify: (struct){
   192      t1: (struct){
   193        p1: (struct){
   194          a: (int){ int }
   195        }
   196        p2: (struct){
   197          a: (int){ int }
   198        }
   199      }
   200      t2: (struct){
   201        p1: (struct){
   202          a!: (int){ int }
   203        }
   204        p2: (struct){
   205          a!: (int){ int }
   206        }
   207      }
   208    }
   209    #Def: (#struct){
   210      t1: (#struct){
   211        a!: (int){ int }
   212      }
   213    }
   214    allowed: (_|_){
   215      // [eval]
   216      issue2306: (_|_){
   217        // [eval]
   218        #A: (_|_){
   219          // [eval]
   220          a!: (_|_){
   221            // [eval] allowed.issue2306.#A.a: field not allowed:
   222            //     ./in.cue:34:6
   223            //     ./in.cue:35:6
   224            //     ./in.cue:37:6
   225          }
   226          b!: (int){ int }
   227        }
   228        #B: (#struct){
   229          b!: (int){ int }
   230        }
   231      }
   232    }
   233  }