github.com/solo-io/cue@v0.4.7/cue/testdata/resolve/035_excluded_embedding_from_closing.txtar (about)

     1  # DO NOT EDIT; generated by go run testdata/gen.go
     2  #
     3  #name: excluded embedding from closing
     4  #evalPartial
     5  -- in.cue --
     6  #S: {
     7  	a: {c: int}
     8  	{
     9  		c: {d: int}
    10  	}
    11  	let B = {open: int}
    12  	b: B
    13  }
    14  V: #S & {
    15  	c: e:     int
    16  	b: extra: int
    17  }
    18  -- out/def --
    19  #S: {
    20  	a: {
    21  		c: int
    22  	}
    23  	c: {
    24  		d: int
    25  		...
    26  	}
    27  	b: {
    28  		open: int
    29  		...
    30  	}
    31  }
    32  V: #S & {
    33  	c: {
    34  		e: int
    35  	}
    36  	b: {
    37  		extra: int
    38  	}
    39  }
    40  -- out/legacy-debug --
    41  <0>{#S: <1>C{a: <2>C{c: int}, c: <3>{d: int}, b: <4>{open: int}}, V: <5>C{a: <6>C{c: int}, c: <7>{d: int, e: int}, b: <8>{open: int, extra: int}}}
    42  -- out/compile --
    43  --- in.cue
    44  {
    45    #S: {
    46      a: {
    47        c: int
    48      }
    49      {
    50        c: {
    51          d: int
    52        }
    53      }
    54      b: 〈0;let B〉
    55    }
    56    V: (〈0;#S〉 & {
    57      c: {
    58        e: int
    59      }
    60      b: {
    61        extra: int
    62      }
    63    })
    64  }
    65  -- out/eval --
    66  Errors:
    67  V.b: field not allowed: extra:
    68      ./in.cue:6:10
    69      ./in.cue:7:5
    70      ./in.cue:9:4
    71      ./in.cue:11:5
    72  V.c: field not allowed: e:
    73      ./in.cue:3:2
    74      ./in.cue:4:6
    75      ./in.cue:9:4
    76      ./in.cue:10:5
    77  
    78  Result:
    79  (_|_){
    80    // [eval]
    81    #S: (#struct){
    82      c: (#struct){
    83        d: (int){ int }
    84      }
    85      a: (#struct){
    86        c: (int){ int }
    87      }
    88      b: (#struct){
    89        open: (int){ int }
    90      }
    91    }
    92    V: (_|_){
    93      // [eval]
    94      c: (_|_){
    95        // [eval]
    96        d: (int){ int }
    97        e: (_|_){
    98          // [eval] V.c: field not allowed: e:
    99          //     ./in.cue:3:2
   100          //     ./in.cue:4:6
   101          //     ./in.cue:9:4
   102          //     ./in.cue:10:5
   103        }
   104      }
   105      a: (#struct){
   106        c: (int){ int }
   107      }
   108      b: (_|_){
   109        // [eval]
   110        open: (int){ int }
   111        extra: (_|_){
   112          // [eval] V.b: field not allowed: extra:
   113          //     ./in.cue:6:10
   114          //     ./in.cue:7:5
   115          //     ./in.cue:9:4
   116          //     ./in.cue:11:5
   117        }
   118      }
   119    }
   120  }