cuelang.org/go@v0.10.1/cue/testdata/comprehensions/fields.txtar (about)

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