this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

internal/core/adt: add more error positions

Deleting evalv2 pointed out some error position
logic that did not exist in evalv3 yet.
The containment slice recently introduced in
OpContext is a good place to keep track of
containment positions.

We implement this, following the same approach
as for evalv2.

Note that containment only works, at the moment,
for positions derived within the same OpContext.
It does not solve the position reported in Issue
3992, possibly for that reason.

Issue #3992

Signed-off-by: Marcel van Lohuizen <mpvl@gmail.com>
Change-Id: I882769188321c5662707049ba08adbcc79699d16
Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1220009
TryBot-Result: CUEcueckoo <cueckoo@cuelang.org>
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
Unity-Result: CUE porcuepine <cue.porcuepine@gmail.com>

+1037 -1125
+1
cmd/cue/cmd/testdata/script/cmd_baddisplay.txtar
··· 4 4 5 5 -- cmd_baddisplay.out -- 6 6 command.baddisplay.display.text: conflicting values 42 and string (mismatched types int and string): 7 + ./task_tool.cue:6:11 7 8 ./task_tool.cue:7:9 8 9 tool/cli:5:9 9 10 -- task.cue --
+4
cmd/cue/cmd/testdata/script/eval_errs.txtar
··· 7 7 bar: 2 errors in empty disjunction: 8 8 bar.a: conflicting values "str" and int (mismatched types string and int): 9 9 ./errs.cue:5:10 10 + ./errs.cue:6:6 10 11 ./errs.cue:6:16 11 12 bar.b: conflicting values 2 and string (mismatched types int and string): 12 13 ./errs.cue:5:21 14 + ./errs.cue:6:6 13 15 ./errs.cue:6:26 14 16 x.q: conflicting values "goodbye" and "hello": 15 17 ./errs.cue:1:4 16 18 ./errs.cue:2:4 19 + ./errs.cue:3:8 20 + ./errs.cue:3:14 17 21 -- errs.cue -- 18 22 a: "hello" 19 23 b: "goodbye"
+47
cmd/cue/cmd/testdata/script/exp_gengotypes.txtar
··· 169 169 -- cuetest/fail_check.stderr -- 170 170 fail.both."16_IntList".types.IntList.0: conflicting values "foo" and int (mismatched types string and int): 171 171 ./cuetest/all.cue:67:40 172 + ./cuetest/fail_check.cue:7:17 173 + ./root/root.cue:9:8 174 + ./root/root.cue:13:10 172 175 ./root/types.cue:26:23 173 176 fail.both."16_IntList".types.IntList.1: conflicting values "bar" and int (mismatched types string and int): 174 177 ./cuetest/all.cue:67:47 178 + ./cuetest/fail_check.cue:7:17 179 + ./root/root.cue:9:8 180 + ./root/root.cue:13:10 175 181 ./root/types.cue:26:23 176 182 fail.both."20_IntMap".types.IntMap.one: conflicting values "x" and int (mismatched types string and int): 177 183 ./cuetest/all.cue:71:47 184 + ./cuetest/fail_check.cue:7:17 185 + ./root/root.cue:9:8 186 + ./root/root.cue:13:10 178 187 ./root/types.cue:28:29 179 188 fail.both."20_IntMap".types.IntMap.two: conflicting values "y" and int (mismatched types string and int): 180 189 ./cuetest/all.cue:71:59 190 + ./cuetest/fail_check.cue:7:17 191 + ./root/root.cue:9:8 192 + ./root/root.cue:13:10 181 193 ./root/types.cue:28:29 182 194 fail.both."37_NonEmptyString".types.NonEmptyString: conflicting values string and 123 (mismatched types string and int): 195 + ./cuetest/all.cue:20:1 196 + ./cuetest/all.cue:27:2 197 + ./cuetest/all.cue:28:56 183 198 ./cuetest/all.cue:89:43 184 199 ./root/types.cue:38:23 185 200 fail.both."40_NonEmptyString".types.NonEmptyString: conflicting values string and [1,2,3] (mismatched types string and list): 201 + ./cuetest/all.cue:20:1 202 + ./cuetest/all.cue:27:2 203 + ./cuetest/all.cue:28:56 186 204 ./cuetest/all.cue:92:43 187 205 ./root/types.cue:38:23 188 206 fail.both."42_LinkedList".types.LinkedList.next: conflicting values "x" and {item?:_,next?:#linkedList} (mismatched types string and struct): 189 207 ./cuetest/all.cue:94:50 208 + ./cuetest/fail_check.cue:7:17 209 + ./root/root.cue:9:8 210 + ./root/root.cue:13:10 211 + ./root/types.cue:40:23 190 212 ./root/types.cue:44:14 213 + ./root/types.cue:46:9 191 214 fail.both."44_GraphNode".types.GraphNode.edges: conflicting values [...#graphNode] and {} (mismatched types list and struct): 215 + ./cuetest/all.cue:20:1 216 + ./cuetest/all.cue:27:2 217 + ./cuetest/all.cue:28:56 192 218 ./cuetest/all.cue:96:51 193 219 ./root/types.cue:50:10 194 220 fail.both.notList: conflicting values [1,2,3] and {embedded2?:int} (mismatched types list and struct): 195 221 ./cuetest/all.cue:5:24 222 + ./cuetest/fail_check.cue:7:17 223 + ./root/root.cue:9:8 224 + ./root/root.cue:11:2 196 225 ./root/root.cue:136:2 197 226 fail.both.notString: conflicting values "not_a_struct" and {embedded2?:int} (mismatched types string and struct): 198 227 ./cuetest/all.cue:4:24 228 + ./cuetest/fail_check.cue:7:17 229 + ./root/root.cue:9:8 230 + ./root/root.cue:11:2 199 231 ./root/root.cue:136:2 200 232 fail.cue."11_Int8".types.Int8: invalid value 99999 (out of bound <=127): 201 233 ./cuetest/all.cue:61:30 ··· 204 236 fail.cue."29_NullOrStruct".types.NullOrStruct: 2 errors in empty disjunction: 205 237 fail.cue."29_NullOrStruct".types.NullOrStruct: conflicting values "foo" and null (mismatched types string and null): 206 238 ./cuetest/all.cue:81:43 239 + ./cuetest/fail_check.cue:7:17 240 + ./root/root.cue:9:8 241 + ./root/root.cue:13:10 207 242 ./root/types.cue:35:23 208 243 fail.cue."29_NullOrStruct".types.NullOrStruct: conflicting values "foo" and {foo?:int} (mismatched types string and struct): 209 244 ./cuetest/all.cue:81:43 245 + ./cuetest/fail_check.cue:7:17 246 + ./root/root.cue:9:8 247 + ./root/root.cue:13:10 210 248 ./root/types.cue:35:30 211 249 fail.cue."32_NullOrString".types.NullOrString: 2 errors in empty disjunction: 212 250 fail.cue."32_NullOrString".types.NullOrString: conflicting values 123 and null (mismatched types int and null): 213 251 ./cuetest/all.cue:84:43 252 + ./cuetest/fail_check.cue:7:17 253 + ./root/root.cue:9:8 254 + ./root/root.cue:13:10 214 255 ./root/types.cue:36:23 215 256 fail.cue."32_NullOrString".types.NullOrString: conflicting values 123 and string (mismatched types int and string): 216 257 ./cuetest/all.cue:84:43 258 + ./cuetest/fail_check.cue:7:17 259 + ./root/root.cue:9:8 260 + ./root/root.cue:13:10 217 261 ./root/types.cue:36:30 218 262 fail.cue."39_UniqueStrings".types.UniqueStrings: invalid value ["foo","foo"] (does not satisfy list.UniqueItems): equal value ("foo") at position 0 and 1: 219 263 ./cuetest/all.cue:25:55 ··· 228 272 fail.cue.isNotEqual.mustEqual2: conflicting values 8 and 99: 229 273 ./cuetest/all.cue:11:37 230 274 ./cuetest/all.cue:11:52 275 + ./cuetest/fail_check.cue:7:17 276 + ./root/root.cue:9:8 277 + ./root/root.cue:107:15 231 278 fail.cue."18_IntListClosed2".types.IntListClosed2: incompatible list lengths (2 and 4): 232 279 ./cuetest/all.cue:69:38 233 280 fail.cue."34_NumericBounds".types.NumericBounds: invalid value 5555 (out of bound <100):
+1
cue/load/loader_test.go
··· 74 74 cuelang.org/go/mod/modfile/schema.cue:56:22 75 75 module: conflicting values 123 and string (mismatched types int and string): 76 76 $CWD/testdata/badmod/cue.mod/module.cue:2:9 77 + cuelang.org/go/mod/modfile/schema.cue:56:12 77 78 cuelang.org/go/mod/modfile/schema.cue:98:12 78 79 path: "" 79 80 module: ""
+3 -10
cue/testdata/basicrewrite/018_self-reference_cycles.txtar
··· 205 205 // [incomplete] oneway.t2.a: 2 errors in empty disjunction: 206 206 // oneway.t2.a: conflicting values 1 and 3: 207 207 // ./disjunction.cue:3:13 208 + // ./disjunction.cue:7:9 208 209 // ./disjunction.cue:8:12 209 210 // oneway.t2.a: non-concrete value <3 in operand to +: 210 211 // ./disjunction.cue:4:12 ··· 353 354 } 354 355 t2: (struct){ 355 356 a: (_|_){ 356 - @@ -13,7 +19,6 @@ 357 - // [incomplete] oneway.t2.a: 2 errors in empty disjunction: 358 - // oneway.t2.a: conflicting values 1 and 3: 359 - // ./disjunction.cue:3:13 360 - - // ./disjunction.cue:7:9 361 - // ./disjunction.cue:8:12 362 - // oneway.t2.a: non-concrete value <3 in operand to +: 363 - // ./disjunction.cue:4:12 364 - @@ -25,57 +30,70 @@ 357 + @@ -25,57 +31,70 @@ 365 358 issue3669: (struct){ 366 359 #Schema: (#struct){ 367 360 two: (_|_){ ··· 462 455 } 463 456 y: (#struct){ 464 457 b: (float){ 700.00 } 465 - @@ -85,28 +103,38 @@ 458 + @@ -85,28 +104,38 @@ 466 459 reduced2: (struct){ 467 460 x: (#struct){ 468 461 start: (float){ 900.0 }
+49 -8
cue/testdata/benchmarks/issue3517.txtar
··· 104 104 Errors: 105 105 ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 106 106 ./main.cue:6:12 107 + ./main.cue:37:12 108 + ./main.cue:49:7 107 109 ./main.cue:50:19 108 110 109 111 Result: ··· 229 231 end: (_|_){ 230 232 // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 231 233 // ./main.cue:6:12 234 + // ./main.cue:37:12 235 + // ./main.cue:49:7 232 236 // ./main.cue:50:19 233 237 } 234 238 duration: (_|_){ 235 239 // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 236 240 // ./main.cue:6:12 241 + // ./main.cue:37:12 242 + // ./main.cue:49:7 237 243 // ./main.cue:50:19 238 244 } 239 245 start: (_|_){ 240 246 // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 241 247 // ./main.cue:6:12 248 + // ./main.cue:37:12 249 + // ./main.cue:49:7 242 250 // ./main.cue:50:19 243 251 } 244 252 } ··· 251 259 end: (_|_){ 252 260 // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 253 261 // ./main.cue:6:12 262 + // ./main.cue:37:12 263 + // ./main.cue:49:7 254 264 // ./main.cue:50:19 255 265 } 256 266 duration: (_|_){ 257 267 // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 258 268 // ./main.cue:6:12 269 + // ./main.cue:37:12 270 + // ./main.cue:49:7 259 271 // ./main.cue:50:19 260 272 } 261 273 start: (_|_){ 262 274 // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 263 275 // ./main.cue:6:12 276 + // ./main.cue:37:12 277 + // ./main.cue:49:7 264 278 // ./main.cue:50:19 265 279 } 266 280 } ··· 272 286 start: (_|_){ 273 287 // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 274 288 // ./main.cue:6:12 289 + // ./main.cue:37:12 290 + // ./main.cue:49:7 275 291 // ./main.cue:50:19 276 292 } 277 293 duration: (_|_){ 278 294 // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 279 295 // ./main.cue:6:12 296 + // ./main.cue:37:12 297 + // ./main.cue:49:7 280 298 // ./main.cue:50:19 281 299 } 282 300 end: (_|_){ 283 301 // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 284 302 // ./main.cue:6:12 303 + // ./main.cue:37:12 304 + // ./main.cue:49:7 285 305 // ./main.cue:50:19 286 306 } 287 307 } 288 308 tasks: (_|_){ 289 309 // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 290 310 // ./main.cue:6:12 311 + // ./main.cue:37:12 312 + // ./main.cue:49:7 291 313 // ./main.cue:50:19 292 314 } 293 315 } ··· 296 318 diff old new 297 319 --- old 298 320 +++ new 299 - @@ -1,9 +1,6 @@ 321 + @@ -1,8 +1,7 @@ 300 322 Errors: 301 323 ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 302 324 ./main.cue:6:12 303 325 - ./main.cue:17:12 304 326 - ./main.cue:35:6 305 - - ./main.cue:49:7 327 + + ./main.cue:37:12 328 + ./main.cue:49:7 306 329 ./main.cue:50:19 307 330 308 - Result: 309 - @@ -11,36 +8,37 @@ 331 + @@ -11,36 +10,37 @@ 310 332 // [eval] 311 333 #TimeSpan: (#struct){ 312 334 start: (_|_){ ··· 365 387 } 366 388 #TaskSet: (#struct){ 367 389 action: (string){ string } 368 - @@ -48,41 +46,38 @@ 390 + @@ -48,41 +48,38 @@ 369 391 } 370 392 tasks: (#list){ 371 393 } ··· 435 457 } 436 458 } 437 459 } 438 - @@ -89,22 +84,33 @@ 460 + @@ -89,22 +86,33 @@ 439 461 #T2: (#struct){ 440 462 action: (string){ "Task 2" } 441 463 timeSpan: (#struct){ ··· 485 507 } 486 508 } 487 509 } 488 - @@ -113,66 +119,73 @@ 510 + @@ -113,66 +121,93 @@ 489 511 action: (string){ "Task 1 and Task 2" } 490 512 #tasks: (_|_){ 491 513 // [eval] ··· 497 519 + end: (_|_){ 498 520 + // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 499 521 + // ./main.cue:6:12 522 + + // ./main.cue:37:12 523 + + // ./main.cue:49:7 500 524 + // ./main.cue:50:19 501 525 + } 502 526 + duration: (_|_){ 503 527 + // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 504 528 + // ./main.cue:6:12 529 + + // ./main.cue:37:12 530 + + // ./main.cue:49:7 505 531 + // ./main.cue:50:19 506 532 + } 507 533 + start: (_|_){ 508 534 + // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 509 535 + // ./main.cue:6:12 536 + + // ./main.cue:37:12 537 + + // ./main.cue:49:7 510 538 + // ./main.cue:50:19 511 539 + } 512 540 + } ··· 524 552 + end: (_|_){ 525 553 + // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 526 554 + // ./main.cue:6:12 555 + + // ./main.cue:37:12 556 + + // ./main.cue:49:7 527 557 + // ./main.cue:50:19 528 558 + } 529 559 + duration: (_|_){ 530 560 + // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 531 561 + // ./main.cue:6:12 562 + + // ./main.cue:37:12 563 + + // ./main.cue:49:7 532 564 + // ./main.cue:50:19 533 565 + } 534 566 + start: (_|_){ 535 567 + // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 536 568 + // ./main.cue:6:12 569 + + // ./main.cue:37:12 570 + + // ./main.cue:49:7 537 571 + // ./main.cue:50:19 538 572 + } 539 573 + } ··· 558 592 + start: (_|_){ 559 593 + // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 560 594 + // ./main.cue:6:12 595 + + // ./main.cue:37:12 596 + + // ./main.cue:49:7 561 597 + // ./main.cue:50:19 562 598 + } 563 599 + duration: (_|_){ 564 600 + // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 565 601 + // ./main.cue:6:12 602 + + // ./main.cue:37:12 603 + + // ./main.cue:49:7 566 604 + // ./main.cue:50:19 567 605 + } 568 606 + end: (_|_){ 569 607 + // [eval] ts.#tasks.t2.timeSpan.end: conflicting values 119 and float (mismatched types int and float): 570 608 + // ./main.cue:6:12 609 + + // ./main.cue:37:12 610 + + // ./main.cue:49:7 571 611 + // ./main.cue:50:19 572 612 } 573 613 } ··· 576 616 // ./main.cue:6:12 577 617 - // ./main.cue:17:12 578 618 - // ./main.cue:35:6 579 - - // ./main.cue:49:7 619 + + // ./main.cue:37:12 620 + // ./main.cue:49:7 580 621 // ./main.cue:50:19 581 622 } 582 623 - timeSpan: (_|_){
+46
cue/testdata/builtins/and.txtar
··· 13 13 Unifications: 6 14 14 Conjuncts: 13 15 15 Disjuncts: 6 16 + -- out/evalalpha -- 17 + Errors: 18 + embed.#x: conflicting values 2 and 1: 19 + ./in.cue:4:13 20 + ./in.cue:4:21 21 + ./in.cue:4:25 22 + ./in.cue:4:33 23 + 24 + Result: 25 + (_|_){ 26 + // [eval] 27 + merge: (int){ 1 } 28 + embed: (_|_){ 29 + // [eval] 30 + #x: (_|_){ 31 + // [eval] embed.#x: conflicting values 2 and 1: 32 + // ./in.cue:4:13 33 + // ./in.cue:4:21 34 + // ./in.cue:4:25 35 + // ./in.cue:4:33 36 + } 37 + } 38 + } 39 + -- diff/-out/evalalpha<==>+out/eval -- 40 + diff old new 41 + --- old 42 + +++ new 43 + @@ -1,6 +1,8 @@ 44 + Errors: 45 + embed.#x: conflicting values 2 and 1: 46 + + ./in.cue:4:13 47 + ./in.cue:4:21 48 + + ./in.cue:4:25 49 + ./in.cue:4:33 50 + 51 + Result: 52 + @@ -11,7 +13,9 @@ 53 + // [eval] 54 + #x: (_|_){ 55 + // [eval] embed.#x: conflicting values 2 and 1: 56 + + // ./in.cue:4:13 57 + // ./in.cue:4:21 58 + + // ./in.cue:4:25 59 + // ./in.cue:4:33 60 + } 61 + } 16 62 -- out/eval -- 17 63 Errors: 18 64 embed.#x: conflicting values 2 and 1:
+64 -83
cue/testdata/builtins/matchn.txtar
··· 1423 1423 closedByDefinition.err5.out.exports: conflicting values null and {exp1:"./main-module.js"} (mismatched types null and struct): 1424 1424 ./closedness.cue:80:13 1425 1425 ./closedness.cue:80:24 1426 + ./closedness.cue:85:7 1426 1427 ./closedness.cue:86:12 1427 1428 closedByDefinition.err5.out.exports.exp1: conflicting values "./main-module.js" and null (mismatched types string and null): 1429 + ./closedness.cue:80:30 1428 1430 ./closedness.cue:81:24 1431 + ./closedness.cue:82:26 1432 + ./closedness.cue:85:7 1429 1433 ./closedness.cue:86:18 1430 1434 closedByDefinition.err5.out.exports.exp1: conflicting values "./main-module.js" and {exp1?:#exports} (mismatched types string and struct): 1435 + ./closedness.cue:80:30 1436 + ./closedness.cue:81:30 1431 1437 ./closedness.cue:82:19 1438 + ./closedness.cue:82:26 1439 + ./closedness.cue:85:7 1432 1440 ./closedness.cue:86:18 1433 1441 explicitClose.err1.out.a: conflicting values "all" and {baz:"notAllowed"} (mismatched types string and struct): 1442 + ./closedness.cue:32:11 1443 + ./closedness.cue:32:12 1434 1444 ./closedness.cue:33:6 1435 1445 ./closedness.cue:33:17 1446 + ./closedness.cue:35:7 1436 1447 ./closedness.cue:36:6 1437 1448 incomplete.err1.x.bar: conflicting values 2 and string (mismatched types int and string): 1438 1449 ./incomplete.cue:34:24 ··· 1448 1459 ./in.cue:39:23 1449 1460 match.incompleteErr.a: conflicting values string and int (mismatched types string and int): 1450 1461 ./in.cue:4:5 1462 + ./in.cue:12:32 1451 1463 ./in.cue:14:20 1452 1464 match.singleErr.a: conflicting values "foo" and int (mismatched types string and int): 1453 1465 ./in.cue:4:5 1466 + ./in.cue:8:28 1454 1467 ./in.cue:10:16 1455 1468 openArguments.err2.out.a: conflicting values null and {allowed:"once"} (mismatched types null and struct): 1469 + ./closedness.cue:20:11 1470 + ./closedness.cue:20:12 1456 1471 ./closedness.cue:21:13 1457 1472 ./closedness.cue:22:5 1473 + ./closedness.cue:27:7 1458 1474 ./closedness.cue:28:6 1459 1475 openArguments.err2.out.a: invalid value {allowed:"once"} (does not satisfy matchN): 2 matched, expected 1: 1460 1476 ./closedness.cue:21:13 ··· 1661 1677 // [eval] 1662 1678 a: (_|_){ 1663 1679 // [eval] openArguments.err2.out.a: conflicting values null and {allowed:"once"} (mismatched types null and struct): 1680 + // ./closedness.cue:20:11 1681 + // ./closedness.cue:20:12 1664 1682 // ./closedness.cue:21:13 1665 1683 // ./closedness.cue:22:5 1684 + // ./closedness.cue:27:7 1666 1685 // ./closedness.cue:28:6 1667 1686 // openArguments.err2.out.a: invalid value {allowed:"once"} (does not satisfy matchN): 2 matched, expected 1: 1668 1687 // ./closedness.cue:21:13 ··· 1691 1710 // [eval] 1692 1711 a: (_|_){ 1693 1712 // [eval] explicitClose.err1.out.a: conflicting values "all" and {baz:"notAllowed"} (mismatched types string and struct): 1713 + // ./closedness.cue:32:11 1714 + // ./closedness.cue:32:12 1694 1715 // ./closedness.cue:33:6 1695 1716 // ./closedness.cue:33:17 1717 + // ./closedness.cue:35:7 1696 1718 // ./closedness.cue:36:6 1697 1719 // explicitClose.err1.out.a: invalid value {baz:"notAllowed"} (does not satisfy matchN): 0 matched, expected 1: 1698 1720 // ./closedness.cue:33:6 ··· 1851 1873 // [eval] closedByDefinition.err5.out.exports: conflicting values null and {exp1:"./main-module.js"} (mismatched types null and struct): 1852 1874 // ./closedness.cue:80:13 1853 1875 // ./closedness.cue:80:24 1876 + // ./closedness.cue:85:7 1854 1877 // ./closedness.cue:86:12 1855 1878 // closedByDefinition.err5.out.exports.exp1: conflicting values "./main-module.js" and null (mismatched types string and null): 1879 + // ./closedness.cue:80:30 1856 1880 // ./closedness.cue:81:24 1881 + // ./closedness.cue:82:26 1882 + // ./closedness.cue:85:7 1857 1883 // ./closedness.cue:86:18 1858 1884 // closedByDefinition.err5.out.exports.exp1: conflicting values "./main-module.js" and {exp1?:#exports} (mismatched types string and struct): 1885 + // ./closedness.cue:80:30 1886 + // ./closedness.cue:81:30 1859 1887 // ./closedness.cue:82:19 1888 + // ./closedness.cue:82:26 1889 + // ./closedness.cue:85:7 1860 1890 // ./closedness.cue:86:18 1861 1891 // closedByDefinition.err5.out.exports: invalid value {exp1:"./main-module.js"} (does not satisfy matchN): 0 matched, expected 1: 1862 1892 // ./closedness.cue:80:13 ··· 1897 1927 singleErr: (_|_){ 1898 1928 // [eval] match.singleErr.a: conflicting values "foo" and int (mismatched types string and int): 1899 1929 // ./in.cue:4:5 1930 + // ./in.cue:8:28 1900 1931 // ./in.cue:10:16 1901 1932 // match.singleErr: invalid value {a:"foo"} (does not satisfy matchN): 0 matched, expected 1: 1902 1933 // ./in.cue:8:17 ··· 1910 1941 incompleteErr: (_|_){ 1911 1942 // [eval] match.incompleteErr.a: conflicting values string and int (mismatched types string and int): 1912 1943 // ./in.cue:4:5 1944 + // ./in.cue:12:32 1913 1945 // ./in.cue:14:20 1914 1946 // match.incompleteErr: invalid value {a:string} (does not satisfy matchN): 0 matched, expected 1: 1915 1947 // ./in.cue:12:21 ··· 2382 2414 diff old new 2383 2415 --- old 2384 2416 +++ new 2385 - @@ -2,26 +2,16 @@ 2386 - closedByDefinition.err5.out.exports: conflicting values null and {exp1:"./main-module.js"} (mismatched types null and struct): 2387 - ./closedness.cue:80:13 2388 - ./closedness.cue:80:24 2389 - - ./closedness.cue:85:7 2390 - ./closedness.cue:86:12 2391 - closedByDefinition.err5.out.exports.exp1: conflicting values "./main-module.js" and null (mismatched types string and null): 2392 - - ./closedness.cue:80:30 2393 - ./closedness.cue:81:24 2394 - - ./closedness.cue:82:26 2395 - - ./closedness.cue:85:7 2396 - ./closedness.cue:86:18 2397 - closedByDefinition.err5.out.exports.exp1: conflicting values "./main-module.js" and {exp1?:#exports} (mismatched types string and struct): 2398 - - ./closedness.cue:80:30 2399 - - ./closedness.cue:81:30 2400 - ./closedness.cue:82:19 2401 - - ./closedness.cue:82:26 2402 - - ./closedness.cue:85:7 2417 + @@ -18,6 +18,7 @@ 2418 + ./closedness.cue:85:7 2403 2419 ./closedness.cue:86:18 2404 2420 explicitClose.err1.out.a: conflicting values "all" and {baz:"notAllowed"} (mismatched types string and struct): 2405 - - ./closedness.cue:32:12 2421 + + ./closedness.cue:32:11 2422 + ./closedness.cue:32:12 2406 2423 ./closedness.cue:33:6 2407 2424 ./closedness.cue:33:17 2408 - - ./closedness.cue:35:7 2409 - ./closedness.cue:36:6 2410 - incomplete.err1.x.bar: conflicting values 2 and string (mismatched types int and string): 2411 - ./incomplete.cue:34:24 2412 - @@ -33,24 +23,17 @@ 2425 + @@ -33,20 +34,18 @@ 2413 2426 ./incomplete.cue:51:25 2414 2427 ./incomplete.cue:52:11 2415 2428 match.defaults.pickNested1Err.a: conflicting values 2 and 3: ··· 2419 2432 match.incompleteErr.a: conflicting values string and int (mismatched types string and int): 2420 2433 ./in.cue:4:5 2421 2434 - ./in.cue:12:21 2422 - - ./in.cue:12:32 2435 + ./in.cue:12:32 2423 2436 ./in.cue:14:20 2424 2437 match.singleErr.a: conflicting values "foo" and int (mismatched types string and int): 2425 2438 ./in.cue:4:5 2426 2439 - ./in.cue:8:17 2427 - - ./in.cue:8:28 2440 + ./in.cue:8:28 2428 2441 ./in.cue:10:16 2429 2442 openArguments.err2.out.a: conflicting values null and {allowed:"once"} (mismatched types null and struct): 2430 - - ./closedness.cue:20:12 2443 + + ./closedness.cue:20:11 2444 + ./closedness.cue:20:12 2431 2445 ./closedness.cue:21:13 2432 2446 ./closedness.cue:22:5 2433 - - ./closedness.cue:27:7 2434 - ./closedness.cue:28:6 2435 - openArguments.err2.out.a: invalid value {allowed:"once"} (does not satisfy matchN): 2 matched, expected 1: 2436 - ./closedness.cue:21:13 2437 - @@ -62,10 +45,6 @@ 2447 + @@ -62,10 +61,6 @@ 2438 2448 ./closedness.cue:36:6 2439 2449 explicitClose.err1.out.a.baz: field not allowed: 2440 2450 ./closedness.cue:33:6 ··· 2445 2455 ./closedness.cue:36:11 2446 2456 closedByDefinition.err5.out.exports: invalid value {exp1:"./main-module.js"} (does not satisfy matchN): 0 matched, expected 1: 2447 2457 ./closedness.cue:80:13 2448 - @@ -167,17 +146,6 @@ 2458 + @@ -167,17 +162,6 @@ 2449 2459 ./in.cue:106:20 2450 2460 ./in.cue:106:67 2451 2461 ./in.cue:109:17 ··· 2463 2473 incomplete.err1.x: invalid value {bar:2} (does not satisfy matchN): 0 matched, expected 1: 2464 2474 ./incomplete.cue:34:6 2465 2475 ./incomplete.cue:34:13 2466 - @@ -205,7 +173,7 @@ 2476 + @@ -205,7 +189,7 @@ 2467 2477 ellipsis: (struct){ 2468 2478 ok: (struct){ 2469 2479 out: (#struct){ ··· 2472 2482 shouldBeAllowed: (int){ 123 } 2473 2483 } 2474 2484 #anything: (_){ matchN(1, (#list){ 2475 - @@ -245,7 +213,7 @@ 2485 + @@ -245,7 +229,7 @@ 2476 2486 }) } 2477 2487 } 2478 2488 out: (#struct){ ··· 2481 2491 baz: (string){ "allowed" } 2482 2492 } 2483 2493 } 2484 - @@ -272,10 +240,8 @@ 2494 + @@ -272,6 +256,7 @@ 2485 2495 // [eval] 2486 2496 a: (_|_){ 2487 2497 // [eval] openArguments.err2.out.a: conflicting values null and {allowed:"once"} (mismatched types null and struct): 2488 - - // ./closedness.cue:20:12 2498 + + // ./closedness.cue:20:11 2499 + // ./closedness.cue:20:12 2489 2500 // ./closedness.cue:21:13 2490 2501 // ./closedness.cue:22:5 2491 - - // ./closedness.cue:27:7 2492 - // ./closedness.cue:28:6 2493 - // openArguments.err2.out.a: invalid value {allowed:"once"} (does not satisfy matchN): 2 matched, expected 1: 2494 - // ./closedness.cue:21:13 2495 - @@ -304,10 +270,8 @@ 2502 + @@ -304,6 +289,7 @@ 2496 2503 // [eval] 2497 2504 a: (_|_){ 2498 2505 // [eval] explicitClose.err1.out.a: conflicting values "all" and {baz:"notAllowed"} (mismatched types string and struct): 2499 - - // ./closedness.cue:32:12 2506 + + // ./closedness.cue:32:11 2507 + // ./closedness.cue:32:12 2500 2508 // ./closedness.cue:33:6 2501 2509 // ./closedness.cue:33:17 2502 - - // ./closedness.cue:35:7 2503 - // ./closedness.cue:36:6 2504 - // explicitClose.err1.out.a: invalid value {baz:"notAllowed"} (does not satisfy matchN): 0 matched, expected 1: 2505 - // ./closedness.cue:33:6 2506 - @@ -315,10 +279,6 @@ 2510 + @@ -315,10 +301,6 @@ 2507 2511 // ./closedness.cue:36:6 2508 2512 // explicitClose.err1.out.a.baz: field not allowed: 2509 2513 // ./closedness.cue:33:6 ··· 2514 2518 // ./closedness.cue:36:11 2515 2519 baz: (string){ "notAllowed" } 2516 2520 } 2517 - @@ -342,7 +302,7 @@ 2521 + @@ -342,7 +324,7 @@ 2518 2522 }) } 2519 2523 } 2520 2524 out: (#struct){ ··· 2523 2527 allowed: (string){ "once" } 2524 2528 } 2525 2529 } 2526 - @@ -375,7 +335,7 @@ 2530 + @@ -375,7 +357,7 @@ 2527 2531 } 2528 2532 } 2529 2533 out: (#struct){ ··· 2532 2536 exp1: (string){ "./main-module.js" } 2533 2537 } 2534 2538 #exports: (_){ matchN(1, (#list){ 2535 - @@ -421,7 +381,7 @@ 2539 + @@ -421,7 +403,7 @@ 2536 2540 } 2537 2541 } 2538 2542 out: (#struct){ ··· 2541 2545 exp1: (string){ "./main-module.js" } 2542 2546 } 2543 2547 #exports: (_){ matchN(1, (#list){ 2544 - @@ -470,20 +430,12 @@ 2545 - // [eval] closedByDefinition.err5.out.exports: conflicting values null and {exp1:"./main-module.js"} (mismatched types null and struct): 2546 - // ./closedness.cue:80:13 2547 - // ./closedness.cue:80:24 2548 - - // ./closedness.cue:85:7 2549 - // ./closedness.cue:86:12 2550 - // closedByDefinition.err5.out.exports.exp1: conflicting values "./main-module.js" and null (mismatched types string and null): 2551 - - // ./closedness.cue:80:30 2552 - // ./closedness.cue:81:24 2553 - - // ./closedness.cue:82:26 2554 - - // ./closedness.cue:85:7 2555 - // ./closedness.cue:86:18 2556 - // closedByDefinition.err5.out.exports.exp1: conflicting values "./main-module.js" and {exp1?:#exports} (mismatched types string and struct): 2557 - - // ./closedness.cue:80:30 2558 - - // ./closedness.cue:81:30 2559 - // ./closedness.cue:82:19 2560 - - // ./closedness.cue:82:26 2561 - - // ./closedness.cue:85:7 2562 - // ./closedness.cue:86:18 2563 - // closedByDefinition.err5.out.exports: invalid value {exp1:"./main-module.js"} (does not satisfy matchN): 0 matched, expected 1: 2564 - // ./closedness.cue:80:13 2565 - @@ -524,8 +476,6 @@ 2548 + @@ -524,7 +506,6 @@ 2566 2549 singleErr: (_|_){ 2567 2550 // [eval] match.singleErr.a: conflicting values "foo" and int (mismatched types string and int): 2568 2551 // ./in.cue:4:5 2569 2552 - // ./in.cue:8:17 2570 - - // ./in.cue:8:28 2553 + // ./in.cue:8:28 2571 2554 // ./in.cue:10:16 2572 2555 // match.singleErr: invalid value {a:"foo"} (does not satisfy matchN): 0 matched, expected 1: 2573 - // ./in.cue:8:17 2574 - @@ -539,8 +489,6 @@ 2556 + @@ -539,7 +520,6 @@ 2575 2557 incompleteErr: (_|_){ 2576 2558 // [eval] match.incompleteErr.a: conflicting values string and int (mismatched types string and int): 2577 2559 // ./in.cue:4:5 2578 2560 - // ./in.cue:12:21 2579 - - // ./in.cue:12:32 2561 + // ./in.cue:12:32 2580 2562 // ./in.cue:14:20 2581 2563 // match.incompleteErr: invalid value {a:string} (does not satisfy matchN): 0 matched, expected 1: 2582 - // ./in.cue:12:21 2583 - @@ -572,7 +520,6 @@ 2564 + @@ -572,7 +552,6 @@ 2584 2565 } 2585 2566 pickNested1Err: (_|_){ 2586 2567 // [eval] match.defaults.pickNested1Err.a: conflicting values 2 and 3: ··· 2588 2569 // ./in.cue:36:38 2589 2570 // ./in.cue:39:23 2590 2571 // match.defaults.pickNested1Err: invalid value {a:*3 | int} (does not satisfy matchN): 0 matched, expected 1: 2591 - @@ -800,10 +747,8 @@ 2572 + @@ -800,10 +779,8 @@ 2592 2573 } 2593 2574 } 2594 2575 } ··· 2601 2582 #x: (_){ matchN(1, (#list){ 2602 2583 0: (_|_){// [ 2603 2584 // {}, 2604 - @@ -810,18 +755,7 @@ 2585 + @@ -810,18 +787,7 @@ 2605 2586 // ] 2606 2587 } 2607 2588 }) } ··· 2621 2602 0: (struct){ 2622 2603 a: (int){ 1 } 2623 2604 } 2624 - @@ -832,7 +766,7 @@ 2605 + @@ -832,7 +798,7 @@ 2625 2606 0: (_|_){// {} 2626 2607 } 2627 2608 }) } ··· 2630 2611 a: (int){ 1 } 2631 2612 } 2632 2613 } 2633 - @@ -1005,8 +939,8 @@ 2614 + @@ -1005,8 +971,8 @@ 2634 2615 run?: (string){ string } 2635 2616 } 2636 2617 s: (#struct){
+14 -10
cue/testdata/comprehensions/errors.txtar
··· 61 61 Errors: 62 62 conflictRangingOverSelf.x.age: conflicting values int and "age" (mismatched types int and string): 63 63 ./in.cue:36:9 64 + ./in.cue:39:5 64 65 ./in.cue:40:3 66 + ./in.cue:41:9 65 67 circularFor.#list: cannot range over tail != null (found bool, want list or struct): 66 68 ./in.cue:12:12 67 69 intField: integer fields not supported: ··· 101 103 age: (_|_){ 102 104 // [eval] conflictRangingOverSelf.x.age: conflicting values int and "age" (mismatched types int and string): 103 105 // ./in.cue:36:9 106 + // ./in.cue:39:5 104 107 // ./in.cue:40:3 108 + // ./in.cue:41:9 105 109 } 106 110 } 107 111 } ··· 110 114 diff old new 111 115 --- old 112 116 +++ new 113 - @@ -2,7 +2,6 @@ 117 + @@ -1,6 +1,7 @@ 118 + Errors: 114 119 conflictRangingOverSelf.x.age: conflicting values int and "age" (mismatched types int and string): 115 120 ./in.cue:36:9 121 + + ./in.cue:39:5 116 122 ./in.cue:40:3 117 - - ./in.cue:41:9 123 + ./in.cue:41:9 118 124 circularFor.#list: cannot range over tail != null (found bool, want list or struct): 119 - ./in.cue:12:12 120 - intField: integer fields not supported: 121 - @@ -13,9 +12,7 @@ 125 + @@ -13,9 +14,7 @@ 122 126 // [eval] 123 127 circularIf: (struct){ 124 128 #list: (#struct){ ··· 129 133 } 130 134 } 131 135 circularFor: (_|_){ 132 - @@ -35,10 +32,6 @@ 136 + @@ -35,10 +34,6 @@ 133 137 intField: (_|_){ 134 138 // [eval] intField: integer fields not supported: 135 139 // ./in.cue:27:4 ··· 140 144 } 141 145 conflictRangingOverSelf: (_|_){ 142 146 // [eval] 143 - @@ -49,7 +42,6 @@ 147 + @@ -48,6 +43,7 @@ 148 + age: (_|_){ 144 149 // [eval] conflictRangingOverSelf.x.age: conflicting values int and "age" (mismatched types int and string): 145 150 // ./in.cue:36:9 151 + + // ./in.cue:39:5 146 152 // ./in.cue:40:3 147 - - // ./in.cue:41:9 153 + // ./in.cue:41:9 148 154 } 149 - } 150 - } 151 155 -- diff/todo/p2 -- 152 156 Missing error message. 153 157 -- out/eval --
+32 -26
cue/testdata/comprehensions/pushdown.txtar
··· 1002 1002 issue3535.regular.foo.regular: field not allowed: 1003 1003 ./issue3535.cue:22:4 1004 1004 issue3729.withoutDisjunction.root.#sub1.#sub2: conflicting values null and {#sub1?:{#sub2:true}} (mismatched types null and struct): 1005 + ./issue3729.cue:8:32 1005 1006 ./issue3729.cue:9:9 1007 + ./issue3729.cue:10:2 1006 1008 ./issue3729.cue:11:9 1007 1009 noStackOverflowStructCycle.#list.tail: structural cycle 1008 1010 noStackOverflowStructCycle.list.tail: structural cycle ··· 1750 1752 // [eval] 1751 1753 root: (_|_){ 1752 1754 // [eval] issue3729.withoutDisjunction.root.#sub1.#sub2: conflicting values null and {#sub1?:{#sub2:true}} (mismatched types null and struct): 1755 + // ./issue3729.cue:8:32 1753 1756 // ./issue3729.cue:9:9 1757 + // ./issue3729.cue:10:2 1754 1758 // ./issue3729.cue:11:9 1755 1759 #sub1?: (#struct){ 1756 1760 #sub2: (bool){ true } ··· 1953 1957 diff old new 1954 1958 --- old 1955 1959 +++ new 1956 - @@ -1,39 +1,19 @@ 1960 + @@ -1,25 +1,13 @@ 1957 1961 Errors: 1958 1962 embed.fail1.p: field not allowed: 1959 1963 - ./in.cue:37:9 ··· 1976 1980 ./issue3535.cue:22:4 1977 1981 - ./issue3535.cue:25:7 1978 1982 issue3729.withoutDisjunction.root.#sub1.#sub2: conflicting values null and {#sub1?:{#sub2:true}} (mismatched types null and struct): 1983 + + ./issue3729.cue:8:32 1979 1984 ./issue3729.cue:9:9 1980 - - ./issue3729.cue:10:2 1985 + ./issue3729.cue:10:2 1981 1986 ./issue3729.cue:11:9 1987 + @@ -26,14 +14,8 @@ 1982 1988 noStackOverflowStructCycle.#list.tail: structural cycle 1983 1989 noStackOverflowStructCycle.list.tail: structural cycle 1984 1990 provideIncompleteSuccess.t2.a.c.d: field not allowed: ··· 1993 1999 ./in.cue:591:9 1994 2000 fieldMismatch.a: cannot combine regular field "x" with 2: 1995 2001 ./in.cue:152:7 1996 - @@ -79,8 +59,8 @@ 2002 + @@ -79,8 +61,8 @@ 1997 2003 } 1998 2004 fail: (struct){ 1999 2005 a: (_|_){ ··· 2004 2010 } 2005 2011 } 2006 2012 embed: (_|_){ 2007 - @@ -89,10 +69,6 @@ 2013 + @@ -89,10 +71,6 @@ 2008 2014 // [eval] 2009 2015 p: (_|_){ 2010 2016 // [eval] embed.fail1.p: field not allowed: ··· 2015 2021 // ./in.cue:46:4 2016 2022 // ./in.cue:49:9 2017 2023 } 2018 - @@ -121,12 +97,11 @@ 2024 + @@ -121,12 +99,11 @@ 2019 2025 // [eval] 2020 2026 p: (_|_){ 2021 2027 // [eval] embed.fail4.p: field not allowed: ··· 2032 2038 } 2033 2039 } 2034 2040 #C4: (#struct){ 2035 - @@ -207,13 +182,10 @@ 2041 + @@ -207,13 +184,10 @@ 2036 2042 b: (bool){ bool } 2037 2043 } 2038 2044 x: (#struct){ ··· 2050 2056 } 2051 2057 t2: (_|_){ 2052 2058 // [eval] 2053 - @@ -229,10 +201,7 @@ 2059 + @@ -229,10 +203,7 @@ 2054 2060 // [eval] 2055 2061 d: (_|_){ 2056 2062 // [eval] provideIncompleteSuccess.t2.a.c.d: field not allowed: ··· 2061 2067 } 2062 2068 } 2063 2069 b: (bool){ true } 2064 - @@ -263,9 +232,22 @@ 2070 + @@ -263,9 +234,22 @@ 2065 2071 } 2066 2072 cyclicError: (struct){ 2067 2073 a: (_|_){ ··· 2087 2093 } 2088 2094 } 2089 2095 midwayReferences: (struct){ 2090 - @@ -279,24 +261,9 @@ 2096 + @@ -279,24 +263,9 @@ 2091 2097 } 2092 2098 } 2093 2099 } ··· 2115 2121 } 2116 2122 closedCheck: (struct){ 2117 2123 success1: (struct){ 2118 - @@ -399,13 +366,7 @@ 2124 + @@ -399,13 +368,7 @@ 2119 2125 } 2120 2126 } 2121 2127 } ··· 2130 2136 #F: (#struct){ 2131 2137 e: (bool){ bool } 2132 2138 f: (_|_){ 2133 - @@ -422,17 +383,11 @@ 2139 + @@ -422,17 +385,11 @@ 2134 2140 } 2135 2141 } 2136 2142 E: (_|_){ ··· 2149 2155 } 2150 2156 } 2151 2157 derefDisj2: (struct){ 2152 - @@ -443,17 +398,11 @@ 2158 + @@ -443,17 +400,11 @@ 2153 2159 } 2154 2160 } 2155 2161 E: (_|_){ ··· 2168 2174 } 2169 2175 } 2170 2176 bulk1: (struct){ 2171 - @@ -576,9 +525,6 @@ 2177 + @@ -576,9 +527,6 @@ 2172 2178 // [eval] 2173 2179 e: (_|_){ 2174 2180 // [eval] structShare.err1.x.d.e: field not allowed: ··· 2178 2184 // ./in.cue:591:9 2179 2185 } 2180 2186 } 2181 - @@ -602,13 +548,13 @@ 2187 + @@ -602,13 +550,13 @@ 2182 2188 } 2183 2189 envs: (struct){ 2184 2190 e1: (#struct){ ··· 2196 2202 } 2197 2203 } 2198 2204 } 2199 - @@ -645,9 +591,8 @@ 2205 + @@ -645,9 +593,8 @@ 2200 2206 _c: (struct){ 2201 2207 y: (int){ 1 } 2202 2208 } ··· 2208 2214 } 2209 2215 } 2210 2216 errorPropagation: (_|_){ 2211 - @@ -705,10 +650,10 @@ 2217 + @@ -705,10 +652,10 @@ 2212 2218 } 2213 2219 foo: (#struct){ 2214 2220 kind: (string){ "foo" } ··· 2221 2227 } 2222 2228 } 2223 2229 regular: (_|_){ 2224 - @@ -721,16 +666,11 @@ 2230 + @@ -721,16 +668,11 @@ 2225 2231 foo: (_|_){ 2226 2232 // [eval] 2227 2233 kind: (string){ "foo" } ··· 2240 2246 } 2241 2247 } 2242 2248 } 2243 - @@ -742,10 +682,10 @@ 2249 + @@ -742,10 +684,10 @@ 2244 2250 } 2245 2251 foo: (#struct){ 2246 2252 kind: (string){ "foo" } ··· 2253 2259 } 2254 2260 } 2255 2261 } 2256 - @@ -816,7 +756,6 @@ 2262 + @@ -815,6 +757,7 @@ 2263 + // [eval] 2257 2264 root: (_|_){ 2258 2265 // [eval] issue3729.withoutDisjunction.root.#sub1.#sub2: conflicting values null and {#sub1?:{#sub2:true}} (mismatched types null and struct): 2266 + + // ./issue3729.cue:8:32 2259 2267 // ./issue3729.cue:9:9 2260 - - // ./issue3729.cue:10:2 2268 + // ./issue3729.cue:10:2 2261 2269 // ./issue3729.cue:11:9 2262 - #sub1?: (#struct){ 2263 - #sub2: (bool){ true } 2264 - @@ -864,14 +803,7 @@ 2270 + @@ -864,14 +807,7 @@ 2265 2271 } 2266 2272 full: (struct){ 2267 2273 #Application: (#struct){ ··· 2277 2283 } 2278 2284 #ApplicationSpec: (#struct){ 2279 2285 syncPolicy?: ((null|struct)){ |((null){ null }, (#struct){ 2280 - @@ -907,10 +839,10 @@ 2286 + @@ -907,10 +843,10 @@ 2281 2287 issue3935: (struct){ 2282 2288 reduced: (struct){ 2283 2289 out: (#struct){ ··· 2289 2295 } 2290 2296 #A: (#struct){ 2291 2297 y: (#struct){ 2292 - @@ -928,14 +860,12 @@ 2298 + @@ -928,14 +864,12 @@ 2293 2299 out: (#struct){ 2294 2300 spec: (#struct){ 2295 2301 name: (string){ "foo" } ··· 2306 2312 } 2307 2313 #SchemaOther: (#struct){ 2308 2314 spec: (#struct){ 2309 - @@ -950,7 +880,7 @@ 2315 + @@ -950,7 +884,7 @@ 2310 2316 config!: (_){ _ } 2311 2317 } 2312 2318 namespace: (_|_){
+1 -8
cue/testdata/cycle/inline_non_recursive.txtar
··· 226 226 // ./select.cue:8:15 227 227 // select.indirect.#Job.req: field is required but not present: 228 228 // ./select.cue:8:8 229 + // ./select.cue:8:19 229 230 // ./select.cue:11:2 230 231 opt: (_){ _ } 231 232 } ··· 294 295 } 295 296 issue3182: (_|_){ 296 297 // [structural cycle] 297 - @@ -116,7 +117,6 @@ 298 - // ./select.cue:8:15 299 - // select.indirect.#Job.req: field is required but not present: 300 - // ./select.cue:8:8 301 - - // ./select.cue:8:19 302 - // ./select.cue:11:2 303 - opt: (_){ _ } 304 - } 305 298 -- diff/todo/p2 -- 306 299 issue1708.k30: no longer evaluates. Not the worst, but would ideally be fixed. 307 300 -- diff/todo/p3 --
+2
cue/testdata/cycle/issue2229.txtar
··· 42 42 Errors: 43 43 conflicting values true and [for _, v in X if (v & true) {_}] (mismatched types bool and list): 44 44 ./in.cue:9:5 45 + ./in.cue:9:24 45 46 ./in.cue:9:28 46 47 structural cycle: 47 48 ./in.cue:9:24 ··· 65 66 y: (_|_){ 66 67 // [eval] conflicting values true and [for _, v in X if (v & true) {_}] (mismatched types bool and list): 67 68 // ./in.cue:9:5 69 + // ./in.cue:9:24 68 70 // ./in.cue:9:28 69 71 // structural cycle: 70 72 // ./in.cue:9:24
+4
cue/testdata/cycle/issue3570.txtar
··· 19 19 conflicting values 25 and {foo:(25|44)} (mismatched types int and struct): 20 20 ./in.cue:1:6 21 21 ./in.cue:1:11 22 + ./in.cue:2:1 22 23 conflicting values 44 and {foo:(25|44)} (mismatched types int and struct): 23 24 ./in.cue:1:6 24 25 ./in.cue:1:16 26 + ./in.cue:2:1 25 27 26 28 Result: 27 29 (_|_){ ··· 29 31 // conflicting values 25 and {foo:(25|44)} (mismatched types int and struct): 30 32 // ./in.cue:1:6 31 33 // ./in.cue:1:11 34 + // ./in.cue:2:1 32 35 // conflicting values 44 and {foo:(25|44)} (mismatched types int and struct): 33 36 // ./in.cue:1:6 34 37 // ./in.cue:1:16 38 + // ./in.cue:2:1 35 39 foo: (struct){ 36 40 foo: (_){ _ } 37 41 }
+20 -62
cue/testdata/cycle/issue429.txtar
··· 63 63 er3.min: 2 errors in empty disjunction: 64 64 er3.min: conflicting values 1 and 5: 65 65 ./in.cue:28:8 66 + ./in.cue:43:6 66 67 ./in.cue:44:7 67 68 es3.max: 2 errors in empty disjunction: 68 69 es3.max: 4 errors in empty disjunction: 69 70 es3.max: conflicting values 1 and 5: 70 71 ./in.cue:4:16 72 + ./in.cue:5:15 73 + ./in.cue:20:6 71 74 ./in.cue:22:7 72 75 es3.max: conflicting values 10 and 5: 76 + ./in.cue:5:15 77 + ./in.cue:20:6 73 78 ./in.cue:21:7 74 79 ./in.cue:22:7 75 80 es3.max: invalid value 5 (out of bound >10): ··· 115 120 // es3.max: 4 errors in empty disjunction: 116 121 // es3.max: conflicting values 1 and 5: 117 122 // ./in.cue:4:16 123 + // ./in.cue:5:15 124 + // ./in.cue:20:6 118 125 // ./in.cue:22:7 119 126 // es3.max: conflicting values 10 and 5: 127 + // ./in.cue:5:15 128 + // ./in.cue:20:6 120 129 // ./in.cue:21:7 121 130 // ./in.cue:22:7 122 131 // es3.max: invalid value 5 (out of bound >10): ··· 144 153 // [incomplete] r1.min: 2 errors in empty disjunction: 145 154 // r1.min: conflicting values 1 and 3: 146 155 // ./in.cue:28:8 156 + // ./in.cue:32:5 147 157 // ./in.cue:33:7 148 158 // r1.min: non-concrete value max for bound <: 149 159 // ./in.cue:29:8 ··· 164 174 // [eval] er3.min: 2 errors in empty disjunction: 165 175 // er3.min: conflicting values 1 and 5: 166 176 // ./in.cue:28:8 177 + // ./in.cue:43:6 167 178 // ./in.cue:44:7 168 179 // er3.min: invalid value 5 (out of bound <5): 169 180 // ./in.cue:29:7 ··· 173 184 // [eval] er3.min: 2 errors in empty disjunction: 174 185 // er3.min: conflicting values 1 and 5: 175 186 // ./in.cue:28:8 187 + // ./in.cue:43:6 176 188 // ./in.cue:44:7 177 189 // er3.min: invalid value 5 (out of bound <5): 178 190 // ./in.cue:29:7 ··· 184 196 diff old new 185 197 --- old 186 198 +++ new 187 - @@ -2,17 +2,13 @@ 188 - er3.min: 2 errors in empty disjunction: 189 - er3.min: conflicting values 1 and 5: 199 + @@ -4,7 +4,8 @@ 190 200 ./in.cue:28:8 191 - - ./in.cue:43:6 192 - - ./in.cue:44:7 201 + ./in.cue:43:6 202 + ./in.cue:44:7 193 203 -es3.max: 3 errors in empty disjunction: 194 - + ./in.cue:44:7 195 204 +es3.max: 2 errors in empty disjunction: 196 205 +es3.max: 4 errors in empty disjunction: 197 206 es3.max: conflicting values 1 and 5: 198 207 ./in.cue:4:16 199 - - ./in.cue:5:15 200 - - ./in.cue:20:6 201 - ./in.cue:22:7 202 - es3.max: conflicting values 10 and 5: 203 - - ./in.cue:5:15 204 - - ./in.cue:20:6 205 - ./in.cue:21:7 206 - ./in.cue:22:7 207 - es3.max: invalid value 5 (out of bound >10): 208 - @@ -36,34 +32,30 @@ 208 + ./in.cue:5:15 209 + @@ -36,26 +37,26 @@ 209 210 max: (number){ |(*(int){ 2 }, (number){ >1 }, (number){ >2 }) } 210 211 } 211 212 s1: (#struct){ ··· 239 240 + // es3.max: 4 errors in empty disjunction: 240 241 // es3.max: conflicting values 1 and 5: 241 242 // ./in.cue:4:16 242 - - // ./in.cue:5:15 243 - - // ./in.cue:20:6 244 - // ./in.cue:22:7 245 - // es3.max: conflicting values 10 and 5: 246 - - // ./in.cue:5:15 247 - - // ./in.cue:20:6 248 - // ./in.cue:21:7 249 - // ./in.cue:22:7 250 - // es3.max: invalid value 5 (out of bound >10): 251 - @@ -70,13 +62,21 @@ 243 + // ./in.cue:5:15 244 + @@ -70,13 +71,21 @@ 252 245 // ./in.cue:5:7 253 246 // ./in.cue:22:7 254 247 } ··· 274 267 } 275 268 r1: (#struct){ 276 269 min: (_|_){ 277 - @@ -83,7 +83,6 @@ 278 - // [incomplete] r1.min: 2 errors in empty disjunction: 279 - // r1.min: conflicting values 1 and 3: 280 - // ./in.cue:28:8 281 - - // ./in.cue:32:5 282 - // ./in.cue:33:7 283 - // r1.min: non-concrete value max for bound <: 284 - // ./in.cue:29:8 285 - @@ -91,8 +90,8 @@ 270 + @@ -91,8 +100,8 @@ 286 271 max: (number){ >3 } 287 272 } 288 273 r2: (#struct){ ··· 292 277 } 293 278 r3: (#struct){ 294 279 min: (int){ 3 } 295 - @@ -104,17 +103,15 @@ 296 - // [eval] er3.min: 2 errors in empty disjunction: 297 - // er3.min: conflicting values 1 and 5: 298 - // ./in.cue:28:8 299 - - // ./in.cue:43:6 300 - - // ./in.cue:44:7 301 - - // er3.min: invalid value 5 (out of bound <5): 302 - - // ./in.cue:29:7 303 - - // ./in.cue:44:7 304 - - } 305 - - max: (_|_){ 306 - - // [eval] er3.min: 2 errors in empty disjunction: 307 - - // er3.min: conflicting values 1 and 5: 308 - - // ./in.cue:28:8 309 - - // ./in.cue:43:6 310 - + // ./in.cue:44:7 311 - + // er3.min: invalid value 5 (out of bound <5): 312 - + // ./in.cue:29:7 313 - + // ./in.cue:44:7 314 - + } 315 - + max: (_|_){ 316 - + // [eval] er3.min: 2 errors in empty disjunction: 317 - + // er3.min: conflicting values 1 and 5: 318 - + // ./in.cue:28:8 319 - // ./in.cue:44:7 320 - // er3.min: invalid value 5 (out of bound <5): 321 - // ./in.cue:29:7 322 280 -- diff/todo/p2 -- 323 281 #nonEmptyRange: missing disjunction error, or at least missing validation. 324 282 At least this seems more correct than the old evaluator. It is an
+108 -67
cue/testdata/cycle/structural.txtar
··· 639 639 b13.root.a.0.0: structural cycle 640 640 b14.root.b.1.1: structural cycle 641 641 b4.b.0: conflicting values 1 and [y] (mismatched types int and list): 642 + ./in.cue:55:5 642 643 ./in.cue:55:12 643 644 ./in.cue:56:8 645 + ./in.cue:56:9 644 646 b4.cond1.x.y.0: structural cycle 645 647 b4.cond2.x.y.0: structural cycle 646 648 b4.x.y.0: structural cycle 647 649 b6.b.a.0: conflicting values 1 and [1] (mismatched types int and list): 650 + ./in.cue:94:5 648 651 ./in.cue:94:13 649 652 ./in.cue:94:14 653 + ./in.cue:95:9 650 654 b6.x.a.0: structural cycle 651 655 b7.a.0: structural cycle 652 656 b7.b.0.0: conflicting values 1 and [a] (mismatched types int and list): 657 + ./in.cue:99:5 653 658 ./in.cue:99:11 654 659 ./in.cue:100:5 660 + ./in.cue:100:6 655 661 c1.a.c.c: structural cycle 656 662 d1.r: structural cycle 657 663 d2.a.b.c.d.t: structural cycle ··· 675 681 ./in.cue:421:6 676 682 ./in.cue:421:7 677 683 e4.a.0.0: conflicting values [{c:1}] and {} (mismatched types list and struct): 684 + ./in.cue:420:6 678 685 ./in.cue:420:10 679 686 ./in.cue:421:6 680 687 e4.b.0: 4 errors in empty disjunction: ··· 687 694 ./in.cue:423:7 688 695 e4.b.0.0: conflicting values [{c:1}] and {} (mismatched types list and struct): 689 696 ./in.cue:423:6 697 + ./in.cue:424:6 690 698 ./in.cue:424:10 691 699 issue2545.#B.A: structural cycle 692 700 nestedList.v1e.y.0: 4 errors in empty disjunction: 693 701 nestedList.v1e.y.0: conflicting values [[2],1] and int (mismatched types list and int): 694 702 ./in.cue:438:11 703 + ./in.cue:439:6 695 704 ./in.cue:439:11 696 705 nestedList.v1e.y.0.0: 2 errors in empty disjunction: 697 706 nestedList.v1e.y.0.0: conflicting values [2] and int (mismatched types list and int): 707 + ./in.cue:438:7 698 708 ./in.cue:438:11 709 + ./in.cue:439:6 699 710 ./in.cue:439:12 700 711 nestedList.v2e.y.0: 4 errors in empty disjunction: 701 712 nestedList.v2e.y.0: conflicting values [[2],1] and int (mismatched types list and int): 713 + ./in.cue:443:6 702 714 ./in.cue:443:11 703 715 ./in.cue:444:11 704 716 nestedList.v2e.y.0.0: 2 errors in empty disjunction: 705 717 nestedList.v2e.y.0.0: conflicting values [2] and int (mismatched types list and int): 718 + ./in.cue:443:6 706 719 ./in.cue:443:12 720 + ./in.cue:444:7 707 721 ./in.cue:444:11 708 722 p2.#T.a.b.link: structural cycle 709 723 p3.#U.#T.a.b.link: structural cycle ··· 829 843 // [eval] 830 844 0: (_|_){ 831 845 // [eval] b4.b.0: conflicting values 1 and [y] (mismatched types int and list): 846 + // ./in.cue:55:5 832 847 // ./in.cue:55:12 833 848 // ./in.cue:56:8 849 + // ./in.cue:56:9 834 850 0: (_|_){// 〈1;y〉 835 851 } 836 852 } ··· 900 916 // [eval] 901 917 0: (_|_){ 902 918 // [eval] b6.b.a.0: conflicting values 1 and [1] (mismatched types int and list): 919 + // ./in.cue:94:5 903 920 // ./in.cue:94:13 904 921 // ./in.cue:94:14 922 + // ./in.cue:95:9 905 923 0: (_|_){// 1 & 〈1;a〉 906 924 } 907 925 } ··· 925 943 // [eval] 926 944 0: (_|_){ 927 945 // [eval] b7.b.0.0: conflicting values 1 and [a] (mismatched types int and list): 946 + // ./in.cue:99:5 928 947 // ./in.cue:99:11 929 948 // ./in.cue:100:5 949 + // ./in.cue:100:6 930 950 0: (_|_){// 〈1;a〉 931 951 } 932 952 } ··· 1486 1506 // ./in.cue:421:6 1487 1507 // ./in.cue:421:7 1488 1508 // e4.a.0.0: conflicting values [{c:1}] and {} (mismatched types list and struct): 1509 + // ./in.cue:420:6 1489 1510 // ./in.cue:420:10 1490 1511 // ./in.cue:421:6 1491 1512 0: (struct){ ··· 1506 1527 // ./in.cue:423:7 1507 1528 // e4.b.0.0: conflicting values [{c:1}] and {} (mismatched types list and struct): 1508 1529 // ./in.cue:423:6 1530 + // ./in.cue:424:6 1509 1531 // ./in.cue:424:10 1510 1532 0: (struct){ 1511 1533 c: (int){ 1 } ··· 1535 1557 // [eval] nestedList.v1e.y.0: 4 errors in empty disjunction: 1536 1558 // nestedList.v1e.y.0: conflicting values [[2],1] and int (mismatched types list and int): 1537 1559 // ./in.cue:438:11 1560 + // ./in.cue:439:6 1538 1561 // ./in.cue:439:11 1539 1562 // nestedList.v1e.y.0.0: 2 errors in empty disjunction: 1540 1563 // nestedList.v1e.y.0.0: conflicting values [2] and int (mismatched types list and int): 1564 + // ./in.cue:438:7 1541 1565 // ./in.cue:438:11 1566 + // ./in.cue:439:6 1542 1567 // ./in.cue:439:12 1543 1568 // nestedList.v1e.y.0.0: incompatible list lengths (1 and 2): 1544 1569 // ./in.cue:438:6 ··· 1555 1580 0: (_|_){ 1556 1581 // [eval] nestedList.v2e.y.0: 4 errors in empty disjunction: 1557 1582 // nestedList.v2e.y.0: conflicting values [[2],1] and int (mismatched types list and int): 1583 + // ./in.cue:443:6 1558 1584 // ./in.cue:443:11 1559 1585 // ./in.cue:444:11 1560 1586 // nestedList.v2e.y.0.0: 2 errors in empty disjunction: 1561 1587 // nestedList.v2e.y.0.0: conflicting values [2] and int (mismatched types list and int): 1588 + // ./in.cue:443:6 1562 1589 // ./in.cue:443:12 1590 + // ./in.cue:444:7 1563 1591 // ./in.cue:444:11 1564 1592 // nestedList.v2e.y.0.0: incompatible list lengths (1 and 2): 1565 1593 // ./in.cue:444:6 ··· 1803 1831 diff old new 1804 1832 --- old 1805 1833 +++ new 1806 - @@ -4,22 +4,24 @@ 1834 + @@ -4,6 +4,11 @@ 1807 1835 b12b.#list.tail: structural cycle 1808 1836 b13.root.a.0.0: structural cycle 1809 1837 b14.root.b.1.1: structural cycle 1810 1838 +b4.b.0: conflicting values 1 and [y] (mismatched types int and list): 1839 + + ./in.cue:55:5 1811 1840 + ./in.cue:55:12 1812 1841 + ./in.cue:56:8 1842 + + ./in.cue:56:9 1813 1843 b4.cond1.x.y.0: structural cycle 1814 1844 b4.cond2.x.y.0: structural cycle 1815 1845 b4.x.y.0: structural cycle 1816 - b6.b.a.0: conflicting values 1 and [1] (mismatched types int and list): 1817 - - ./in.cue:94:5 1846 + @@ -12,14 +17,17 @@ 1818 1847 ./in.cue:94:13 1819 1848 ./in.cue:94:14 1820 - - ./in.cue:95:9 1849 + ./in.cue:95:9 1821 1850 -b6.b.a.0.0: structural cycle 1822 1851 b6.x.a.0: structural cycle 1823 1852 b7.a.0: structural cycle 1824 1853 +b7.b.0.0: conflicting values 1 and [a] (mismatched types int and list): 1854 + + ./in.cue:99:5 1825 1855 + ./in.cue:99:11 1826 1856 + ./in.cue:100:5 1857 + + ./in.cue:100:6 1827 1858 c1.a.c.c: structural cycle 1828 1859 -d1.a.b.c.d.t: structural cycle 1829 1860 +d1.r: structural cycle ··· 1834 1865 e1.a.c: structural cycle 1835 1866 e1.b.c: structural cycle 1836 1867 e2.a.c: structural cycle 1837 - @@ -27,21 +29,18 @@ 1868 + @@ -27,18 +35,16 @@ 1838 1869 e3.a: conflicting values [a] and {c:a} (mismatched types list and struct): 1839 1870 ./in.cue:412:5 1840 1871 ./in.cue:413:5 ··· 1854 1885 + ./in.cue:421:6 1855 1886 ./in.cue:421:7 1856 1887 e4.a.0.0: conflicting values [{c:1}] and {} (mismatched types list and struct): 1857 - - ./in.cue:420:6 1858 - ./in.cue:420:10 1859 - ./in.cue:421:6 1860 - e4.b.0: 4 errors in empty disjunction: 1861 - @@ -49,48 +48,45 @@ 1888 + ./in.cue:420:6 1889 + @@ -49,9 +55,9 @@ 1862 1890 ./in.cue:423:6 1863 1891 ./in.cue:424:10 1864 1892 e4.b.0.0: 2 errors in empty disjunction: ··· 1869 1897 - ./in.cue:424:5 1870 1898 e4.b.0.0: conflicting values [{c:1}] and {} (mismatched types list and struct): 1871 1899 ./in.cue:423:6 1872 - - ./in.cue:424:6 1900 + ./in.cue:424:6 1901 + @@ -58,39 +64,43 @@ 1873 1902 ./in.cue:424:10 1874 1903 issue2545.#B.A: structural cycle 1875 1904 nestedList.v1e.y.0: 4 errors in empty disjunction: 1876 1905 -nestedList.v1e.y.0: conflicting values int and [[2],1] (mismatched types int and list): 1906 + - ./in.cue:438:11 1877 1907 +nestedList.v1e.y.0: conflicting values [[2],1] and int (mismatched types list and int): 1878 - ./in.cue:438:11 1908 + + ./in.cue:438:11 1909 + + ./in.cue:439:6 1879 1910 ./in.cue:439:11 1880 1911 nestedList.v1e.y.0.0: 2 errors in empty disjunction: 1881 1912 -nestedList.v1e.y.0.0: conflicting values int and [2] (mismatched types int and list): 1913 + - ./in.cue:438:11 1882 1914 +nestedList.v1e.y.0.0: conflicting values [2] and int (mismatched types list and int): 1883 - ./in.cue:438:11 1915 + + ./in.cue:438:7 1916 + + ./in.cue:438:11 1917 + + ./in.cue:439:6 1884 1918 ./in.cue:439:12 1885 1919 -nestedList.v1e.y.0.0: incompatible list lengths (1 and 2) 1886 1920 nestedList.v2e.y.0: 4 errors in empty disjunction: 1887 1921 -nestedList.v2e.y.0: conflicting values int and [[2],1] (mismatched types int and list): 1888 1922 +nestedList.v2e.y.0: conflicting values [[2],1] and int (mismatched types list and int): 1923 + + ./in.cue:443:6 1889 1924 ./in.cue:443:11 1890 1925 ./in.cue:444:11 1891 1926 nestedList.v2e.y.0.0: 2 errors in empty disjunction: 1892 1927 -nestedList.v2e.y.0.0: conflicting values int and [2] (mismatched types int and list): 1893 1928 +nestedList.v2e.y.0.0: conflicting values [2] and int (mismatched types list and int): 1929 + + ./in.cue:443:6 1894 1930 ./in.cue:443:12 1895 - ./in.cue:444:11 1931 + - ./in.cue:444:11 1896 1932 -nestedList.v2e.y.0.0: incompatible list lengths (1 and 2) 1933 + + ./in.cue:444:7 1934 + + ./in.cue:444:11 1897 1935 p2.#T.a.b.link: structural cycle 1898 1936 p3.#U.#T.a.b.link: structural cycle 1899 1937 p5.#T.a.0.link: structural cycle ··· 1921 1959 1922 1960 Result: 1923 1961 (_|_){ 1924 - @@ -101,13 +97,9 @@ 1962 + @@ -101,13 +111,9 @@ 1925 1963 // [structural cycle] 1926 1964 X: (_|_){ 1927 1965 // [structural cycle] ··· 1938 1976 } 1939 1977 } 1940 1978 } 1941 - @@ -161,10 +153,7 @@ 1979 + @@ -161,10 +167,7 @@ 1942 1980 a7: (struct){ 1943 1981 a: (string){ "foo" } 1944 1982 b: (struct){ ··· 1950 1988 y: (string){ "foo" } 1951 1989 } 1952 1990 c: (struct){ 1953 - @@ -201,11 +190,15 @@ 1991 + @@ -201,11 +204,17 @@ 1954 1992 } 1955 1993 } 1956 1994 b4: (_|_){ ··· 1964 2002 + // [eval] 1965 2003 + 0: (_|_){ 1966 2004 + // [eval] b4.b.0: conflicting values 1 and [y] (mismatched types int and list): 2005 + + // ./in.cue:55:5 1967 2006 + // ./in.cue:55:12 1968 2007 + // ./in.cue:56:8 2008 + + // ./in.cue:56:9 1969 2009 + 0: (_|_){// 〈1;y〉 1970 2010 + } 1971 2011 } 1972 2012 } 1973 2013 x: (_|_){ 1974 - @@ -273,12 +266,9 @@ 1975 - // [eval] 1976 - 0: (_|_){ 1977 - // [eval] b6.b.a.0: conflicting values 1 and [1] (mismatched types int and list): 1978 - - // ./in.cue:94:5 2014 + @@ -277,8 +286,7 @@ 1979 2015 // ./in.cue:94:13 1980 2016 // ./in.cue:94:14 1981 - - // ./in.cue:95:9 2017 + // ./in.cue:95:9 1982 2018 - 0: (_|_){ 1983 2019 - // [structural cycle] b6.b.a.0.0: structural cycle 1984 2020 + 0: (_|_){// 1 & 〈1;a〉 1985 2021 } 1986 2022 } 1987 2023 } 1988 - @@ -294,11 +284,18 @@ 2024 + @@ -294,11 +302,20 @@ 1989 2025 } 1990 2026 } 1991 2027 b7: (_|_){ ··· 2001 2037 + // [eval] 2002 2038 + 0: (_|_){ 2003 2039 + // [eval] b7.b.0.0: conflicting values 1 and [a] (mismatched types int and list): 2040 + + // ./in.cue:99:5 2004 2041 + // ./in.cue:99:11 2005 2042 + // ./in.cue:100:5 2043 + + // ./in.cue:100:6 2006 2044 + 0: (_|_){// 〈1;a〉 2007 2045 + } 2008 2046 + } 2009 2047 } 2010 2048 } 2011 2049 a: (_|_){ 2012 - @@ -309,9 +306,7 @@ 2050 + @@ -309,9 +326,7 @@ 2013 2051 } 2014 2052 } 2015 2053 b8: (struct){ ··· 2020 2058 a: (struct){ 2021 2059 f: (string){ string } 2022 2060 } 2023 - @@ -337,7 +332,7 @@ 2061 + @@ -337,7 +352,7 @@ 2024 2062 #ref: (#struct){ 2025 2063 ref: (string){ string } 2026 2064 } ··· 2029 2067 c: (#list){ 2030 2068 0: ((string|struct)){ |((string){ string }, (#struct){ 2031 2069 ref: (string){ string } 2032 - @@ -360,7 +355,13 @@ 2070 + @@ -360,7 +375,13 @@ 2033 2071 }) } 2034 2072 } 2035 2073 c: (#struct){ ··· 2044 2082 } 2045 2083 d: (struct){ 2046 2084 d: (struct){ 2047 - @@ -370,9 +371,7 @@ 2085 + @@ -370,9 +391,7 @@ 2048 2086 } 2049 2087 b11: (struct){ 2050 2088 #list: (#struct){ ··· 2055 2093 } 2056 2094 } 2057 2095 b12: (struct){ 2058 - @@ -389,7 +388,11 @@ 2096 + @@ -389,7 +408,11 @@ 2059 2097 value: (int){ 3 } 2060 2098 tail: (#struct){ 2061 2099 value: (int){ 4 } ··· 2068 2106 sum: (int){ 4 } 2069 2107 } 2070 2108 sum: (int){ 7 } 2071 - @@ -461,10 +464,7 @@ 2109 + @@ -461,10 +484,7 @@ 2072 2110 link: (#struct){ 2073 2111 a: (#struct){ 2074 2112 two: (#struct){ ··· 2080 2118 } 2081 2119 } 2082 2120 } 2083 - @@ -538,10 +538,7 @@ 2121 + @@ -538,10 +558,7 @@ 2084 2122 link: (#struct){ 2085 2123 a: (#list){ 2086 2124 0: (#struct){ ··· 2092 2130 } 2093 2131 } 2094 2132 } 2095 - @@ -632,47 +629,27 @@ 2133 + @@ -632,47 +649,27 @@ 2096 2134 // [structural cycle] 2097 2135 h: (int){ int } 2098 2136 t: (_|_){ ··· 2157 2195 c: (_|_){ 2158 2196 // [structural cycle] 2159 2197 d: (_|_){ 2160 - @@ -699,28 +676,25 @@ 2198 + @@ -699,28 +696,25 @@ 2161 2199 } 2162 2200 x: (_|_){ 2163 2201 // [structural cycle] ··· 2191 2229 #List: (#struct){ 2192 2230 Next: (null){ null } 2193 2231 } 2194 - @@ -729,9 +703,7 @@ 2232 + @@ -729,9 +723,7 @@ 2195 2233 // [structural cycle] 2196 2234 t1: (struct){ 2197 2235 #Foo: (#struct){ ··· 2202 2240 } 2203 2241 } 2204 2242 t2: (_|_){ 2205 - @@ -739,10 +711,7 @@ 2243 + @@ -739,10 +731,7 @@ 2206 2244 Foo: (_|_){ 2207 2245 // [structural cycle] 2208 2246 ref: (_|_){ ··· 2214 2252 } 2215 2253 } 2216 2254 } 2217 - @@ -749,9 +718,7 @@ 2255 + @@ -749,9 +738,7 @@ 2218 2256 } 2219 2257 comprehension: (struct){ 2220 2258 #list: (#struct){ ··· 2225 2263 } 2226 2264 } 2227 2265 } 2228 - @@ -777,8 +744,7 @@ 2266 + @@ -777,8 +764,7 @@ 2229 2267 } 2230 2268 } 2231 2269 let _schema_1#1 = (_|_){ ··· 2235 2273 } 2236 2274 } 2237 2275 fieldsSumInfinite: (_|_){ 2238 - @@ -789,7 +755,8 @@ 2276 + @@ -789,7 +775,8 @@ 2239 2277 fries: (float){ 2.00 } 2240 2278 sprite: (float){ 1.00 } 2241 2279 total: (_|_){ ··· 2245 2283 } 2246 2284 } 2247 2285 } 2248 - @@ -804,9 +771,7 @@ 2286 + @@ -804,9 +791,7 @@ 2249 2287 head: (int){ 3 } 2250 2288 tail: (struct){ 2251 2289 head: (int){ 2 } ··· 2256 2294 } 2257 2295 } 2258 2296 } 2259 - @@ -813,12 +778,7 @@ 2297 + @@ -813,12 +798,7 @@ 2260 2298 issue2545: (_|_){ 2261 2299 // [structural cycle] 2262 2300 #A: (#struct){ ··· 2270 2308 } 2271 2309 #B: (_|_){ 2272 2310 // [structural cycle] 2273 - @@ -863,11 +823,9 @@ 2311 + @@ -863,11 +843,9 @@ 2274 2312 // [eval] e3.a: conflicting values [a] and {c:a} (mismatched types list and struct): 2275 2313 // ./in.cue:412:5 2276 2314 // ./in.cue:413:5 ··· 2285 2323 } 2286 2324 } 2287 2325 b: (_|_){ 2288 - @@ -874,11 +832,9 @@ 2326 + @@ -874,11 +852,9 @@ 2289 2327 // [eval] e3.b: conflicting values [b] and {c:b} (mismatched types list and struct): 2290 2328 // ./in.cue:415:5 2291 2329 // ./in.cue:416:5 ··· 2300 2338 } 2301 2339 } 2302 2340 } 2303 - @@ -892,11 +848,10 @@ 2341 + @@ -892,8 +868,8 @@ 2304 2342 // ./in.cue:420:10 2305 2343 // ./in.cue:421:6 2306 2344 // e4.a.0.0: 2 errors in empty disjunction: ··· 2310 2348 + // ./in.cue:421:6 2311 2349 // ./in.cue:421:7 2312 2350 // e4.a.0.0: conflicting values [{c:1}] and {} (mismatched types list and struct): 2313 - - // ./in.cue:420:6 2314 - // ./in.cue:420:10 2315 - // ./in.cue:421:6 2316 - 0: (struct){ 2317 - @@ -912,12 +867,11 @@ 2351 + // ./in.cue:420:6 2352 + @@ -912,9 +888,9 @@ 2318 2353 // ./in.cue:423:6 2319 2354 // ./in.cue:424:10 2320 2355 // e4.b.0.0: 2 errors in empty disjunction: ··· 2325 2360 - // ./in.cue:424:5 2326 2361 // e4.b.0.0: conflicting values [{c:1}] and {} (mismatched types list and struct): 2327 2362 // ./in.cue:423:6 2328 - - // ./in.cue:424:6 2329 - // ./in.cue:424:10 2330 - 0: (struct){ 2331 - c: (int){ 1 } 2332 - @@ -945,17 +899,16 @@ 2363 + // ./in.cue:424:6 2364 + @@ -945,17 +921,19 @@ 2333 2365 // [eval] 2334 2366 0: (_|_){ 2335 2367 // [eval] nestedList.v1e.y.0: 4 errors in empty disjunction: 2336 2368 - // nestedList.v1e.y.0: conflicting values int and [[2],1] (mismatched types int and list): 2369 + - // ./in.cue:438:11 2337 2370 + // nestedList.v1e.y.0: conflicting values [[2],1] and int (mismatched types list and int): 2338 - // ./in.cue:438:11 2371 + + // ./in.cue:438:11 2372 + + // ./in.cue:439:6 2339 2373 // ./in.cue:439:11 2340 2374 // nestedList.v1e.y.0.0: 2 errors in empty disjunction: 2341 2375 - // nestedList.v1e.y.0.0: conflicting values int and [2] (mismatched types int and list): 2376 + - // ./in.cue:438:11 2342 2377 + // nestedList.v1e.y.0.0: conflicting values [2] and int (mismatched types list and int): 2343 - // ./in.cue:438:11 2378 + + // ./in.cue:438:7 2379 + + // ./in.cue:438:11 2380 + + // ./in.cue:439:6 2344 2381 // ./in.cue:439:12 2345 2382 - // nestedList.v1e.y.0.0: incompatible list lengths (1 and 2) 2346 2383 - 0: (#list){ ··· 2352 2389 1: (int){ 1 } 2353 2390 } 2354 2391 1: (int){ 1 } 2355 - @@ -967,17 +920,16 @@ 2392 + @@ -967,17 +945,19 @@ 2356 2393 // [eval] 2357 2394 0: (_|_){ 2358 2395 // [eval] nestedList.v2e.y.0: 4 errors in empty disjunction: 2359 2396 - // nestedList.v2e.y.0: conflicting values int and [[2],1] (mismatched types int and list): 2360 2397 + // nestedList.v2e.y.0: conflicting values [[2],1] and int (mismatched types list and int): 2398 + + // ./in.cue:443:6 2361 2399 // ./in.cue:443:11 2362 2400 // ./in.cue:444:11 2363 2401 // nestedList.v2e.y.0.0: 2 errors in empty disjunction: 2364 2402 - // nestedList.v2e.y.0.0: conflicting values int and [2] (mismatched types int and list): 2365 2403 + // nestedList.v2e.y.0.0: conflicting values [2] and int (mismatched types list and int): 2404 + + // ./in.cue:443:6 2366 2405 // ./in.cue:443:12 2367 - // ./in.cue:444:11 2406 + - // ./in.cue:444:11 2368 2407 - // nestedList.v2e.y.0.0: incompatible list lengths (1 and 2) 2369 2408 - 0: (#list){ 2370 2409 - 0: (int){ 2 } 2371 2410 - } 2411 + + // ./in.cue:444:7 2412 + + // ./in.cue:444:11 2372 2413 + // nestedList.v2e.y.0.0: incompatible list lengths (1 and 2): 2373 2414 + // ./in.cue:444:6 2374 2415 + 0: (list){ list } 2375 2416 1: (int){ 1 } 2376 2417 } 2377 2418 1: (int){ 1 } 2378 - @@ -1031,7 +983,10 @@ 2419 + @@ -1031,7 +1011,10 @@ 2379 2420 head: (int){ 3 } 2380 2421 tail: (struct){ 2381 2422 head: (int){ 4 } ··· 2387 2428 } 2388 2429 } 2389 2430 } 2390 - @@ -1045,7 +1000,10 @@ 2431 + @@ -1045,7 +1028,10 @@ 2391 2432 head: (int){ 2 } 2392 2433 tail: (struct){ 2393 2434 head: (int){ 3 } ··· 2399 2440 } 2400 2441 } 2401 2442 } 2402 - @@ -1059,8 +1017,12 @@ 2443 + @@ -1059,8 +1045,12 @@ 2403 2444 head: (int){ 2 } 2404 2445 tail: (struct){ |((struct){ 2405 2446 head: (int){ 3 } ··· 2414 2455 }, (struct){ 2415 2456 head: (int){ 3 } 2416 2457 }) } 2417 - @@ -1082,9 +1044,7 @@ 2458 + @@ -1082,9 +1072,7 @@ 2418 2459 // [structural cycle] 2419 2460 f: (_|_){ 2420 2461 // [structural cycle] ··· 2425 2466 } 2426 2467 g: (_|_){ 2427 2468 // [structural cycle] 2428 - @@ -1105,10 +1065,7 @@ 2469 + @@ -1105,10 +1093,7 @@ 2429 2470 x: (_){ _ } 2430 2471 y: (_){ _ } 2431 2472 } ··· 2437 2478 } 2438 2479 } 2439 2480 t2: (struct){ 2440 - @@ -1121,10 +1078,7 @@ 2481 + @@ -1121,10 +1106,7 @@ 2441 2482 x: (_){ _ } 2442 2483 y: (_){ _ } 2443 2484 } ··· 2449 2490 } 2450 2491 } 2451 2492 t3: (struct){ 2452 - @@ -1139,16 +1093,8 @@ 2493 + @@ -1139,16 +1121,8 @@ 2453 2494 y: (_){ _ } 2454 2495 z: (_){ _ } 2455 2496 } ··· 2468 2509 } 2469 2510 } 2470 2511 t4: (struct){ 2471 - @@ -1164,51 +1110,11 @@ 2512 + @@ -1164,51 +1138,11 @@ 2472 2513 y: (_){ _ } 2473 2514 z: (_){ _ } 2474 2515 } ··· 2525 2566 } 2526 2567 } 2527 2568 t5: (struct){ 2528 - @@ -1219,18 +1125,8 @@ 2569 + @@ -1219,18 +1153,8 @@ 2529 2570 } 2530 2571 } 2531 2572 C: (struct){ ··· 2546 2587 } 2547 2588 } 2548 2589 } 2549 - @@ -1253,19 +1149,19 @@ 2590 + @@ -1253,19 +1177,19 @@ 2550 2591 } 2551 2592 } 2552 2593 n4: (struct){
+1 -8
cue/testdata/definitions/036_closing_with_failed_optional.txtar
··· 146 146 a?: (_|_){ 147 147 // [eval] v1.a: conflicting values 2 and 3: 148 148 // ./in.cue:10:11 149 + // ./in.cue:12:5 149 150 // ./in.cue:12:16 150 151 } 151 152 b: (int){ 4 } ··· 178 179 } 179 180 o1: (struct){ 180 181 a?: (_|_){ 181 - @@ -32,7 +38,6 @@ 182 - a?: (_|_){ 183 - // [eval] v1.a: conflicting values 2 and 3: 184 - // ./in.cue:10:11 185 - - // ./in.cue:12:5 186 - // ./in.cue:12:16 187 - } 188 - b: (int){ 4 } 189 182 -- diff/todo/p2 -- 190 183 v1.a: Incorrect path in error message. 191 184 -- diff/todo/p3 --
+45 -50
cue/testdata/definitions/typocheck.txtar
··· 707 707 embed.fieldWithAnd.a.err: field not allowed: 708 708 ./in.cue:20:13 709 709 embed.openValidator.t2.a.b: conflicting values 1 and {b?:Y} (mismatched types int and struct): 710 + ./validators.cue:25:16 710 711 ./validators.cue:26:5 712 + ./validators.cue:26:9 713 + ./validators.cue:27:5 711 714 ./validators.cue:28:8 712 715 embed.simple.a.err: field not allowed: 713 716 ./in.cue:4:5 ··· 1228 1231 // [eval] 1229 1232 b: (_|_){ 1230 1233 // [eval] embed.openValidator.t2.a.b: conflicting values 1 and {b?:Y} (mismatched types int and struct): 1234 + // ./validators.cue:25:16 1231 1235 // ./validators.cue:26:5 1236 + // ./validators.cue:26:9 1237 + // ./validators.cue:27:5 1232 1238 // ./validators.cue:28:8 1233 1239 // embed.openValidator.t2.a.b: invalid value 1 (does not satisfy matchN): 0 matched, expected 1: 1234 1240 // ./validators.cue:25:5 ··· 1986 1992 diff old new 1987 1993 --- old 1988 1994 +++ new 1989 - @@ -1,95 +1,38 @@ 1995 + @@ -1,59 +1,20 @@ 1990 1996 Errors: 1991 1997 and.transitive.err.out.err: field not allowed: 1992 1998 - ./in.cue:42:5 ··· 2044 2050 - ./validators.cue:12:5 2045 2051 - ./validators.cue:13:5 2046 2052 embed.openValidator.t2.a.b: conflicting values 1 and {b?:Y} (mismatched types int and struct): 2047 - - ./validators.cue:25:16 2053 + ./validators.cue:25:16 2048 2054 ./validators.cue:26:5 2049 - - ./validators.cue:26:9 2050 - - ./validators.cue:27:5 2055 + @@ -61,35 +22,20 @@ 2056 + ./validators.cue:27:5 2051 2057 ./validators.cue:28:8 2052 2058 embed.simple.a.err: field not allowed: 2053 2059 - ./in.cue:2:6 ··· 2088 2094 embed.openValidator.t2.a.b: invalid value 1 (does not satisfy matchN): 0 matched, expected 1: 2089 2095 ./validators.cue:25:5 2090 2096 ./validators.cue:25:12 2091 - @@ -102,14 +45,12 @@ 2097 + @@ -102,14 +48,12 @@ 2092 2098 issue3920: (struct){ 2093 2099 out: (#struct){ 2094 2100 a: (#struct){ ··· 2108 2114 } 2109 2115 #B: (#struct){ 2110 2116 c?: (string){ string } 2111 - @@ -163,10 +104,7 @@ 2117 + @@ -163,10 +107,7 @@ 2112 2118 allowed?: (string){ string } 2113 2119 disallowed: (_|_){ 2114 2120 // [eval] issue3947.full.out.disallowed: field not allowed: ··· 2119 2125 } 2120 2126 } 2121 2127 } 2122 - @@ -178,15 +116,9 @@ 2128 + @@ -178,15 +119,9 @@ 2123 2129 c: (_|_){ 2124 2130 // [eval] 2125 2131 a: (_|_){ ··· 2136 2142 } 2137 2143 b?: (string){ string } 2138 2144 } 2139 - @@ -259,9 +191,6 @@ 2145 + @@ -259,9 +194,6 @@ 2140 2146 } 2141 2147 nestedWithPatterns: (struct){ 2142 2148 out: (#struct){ ··· 2146 2152 objs: (#struct){ 2147 2153 obj1: (#struct){ 2148 2154 extra: (string){ "foo" } 2149 - @@ -268,6 +197,9 @@ 2155 + @@ -268,6 +200,9 @@ 2150 2156 name?: (int){ int } 2151 2157 } 2152 2158 } ··· 2156 2162 } 2157 2163 #Schema: (#struct){ 2158 2164 #meta: (#struct){ 2159 - @@ -413,14 +345,11 @@ 2165 + @@ -413,14 +348,11 @@ 2160 2166 } 2161 2167 a: (_|_){ 2162 2168 // [eval] ··· 2172 2178 } 2173 2179 } 2174 2180 andInStruct: (_|_){ 2175 - @@ -430,14 +359,11 @@ 2181 + @@ -430,14 +362,11 @@ 2176 2182 } 2177 2183 a: (_|_){ 2178 2184 // [eval] ··· 2188 2194 } 2189 2195 } 2190 2196 embedDefWithEmbedding: (_|_){ 2191 - @@ -447,15 +373,11 @@ 2197 + @@ -447,15 +376,11 @@ 2192 2198 } 2193 2199 a: (_|_){ 2194 2200 // [eval] ··· 2205 2211 } 2206 2212 } 2207 2213 embedComprehension: (_|_){ 2208 - @@ -465,16 +387,11 @@ 2214 + @@ -465,16 +390,11 @@ 2209 2215 } 2210 2216 a: (_|_){ 2211 2217 // [eval] ··· 2223 2229 } 2224 2230 } 2225 2231 fieldWithAnd: (_|_){ 2226 - @@ -485,9 +402,6 @@ 2232 + @@ -485,9 +405,6 @@ 2227 2233 // [eval] 2228 2234 err: (_|_){ 2229 2235 // [eval] embed.fieldWithAnd.a.err: field not allowed: ··· 2233 2239 // ./in.cue:20:13 2234 2240 } 2235 2241 } 2236 - @@ -498,20 +412,15 @@ 2242 + @@ -498,20 +415,15 @@ 2237 2243 a: (int){ int } 2238 2244 } 2239 2245 B: (struct){ ··· 2259 2265 } 2260 2266 } 2261 2267 andEmbed: (_|_){ 2262 - @@ -527,17 +436,11 @@ 2268 + @@ -527,17 +439,11 @@ 2263 2269 } 2264 2270 d: (_|_){ 2265 2271 // [eval] ··· 2278 2284 } 2279 2285 } 2280 2286 nonDef: (struct){ 2281 - @@ -546,12 +449,12 @@ 2287 + @@ -546,12 +452,12 @@ 2282 2288 a: (string){ string } 2283 2289 } 2284 2290 #Y: (#struct){ ··· 2295 2301 } 2296 2302 } 2297 2303 } 2298 - @@ -561,12 +464,12 @@ 2304 + @@ -561,12 +467,12 @@ 2299 2305 Name: (string){ string } 2300 2306 } 2301 2307 #Step: (#struct){ ··· 2312 2318 } 2313 2319 out: (#struct){ 2314 2320 Name: (string){ "foo" } 2315 - @@ -576,21 +479,15 @@ 2321 + @@ -576,21 +482,15 @@ 2316 2322 } 2317 2323 withIndirect: (_|_){ 2318 2324 // [eval] ··· 2339 2345 } 2340 2346 normalValidator: (_|_){ 2341 2347 // [eval] 2342 - @@ -600,20 +497,18 @@ 2348 + @@ -600,20 +500,18 @@ 2343 2349 } 2344 2350 x: (_|_){ 2345 2351 // [eval] ··· 2364 2370 #X: (_){ 2365 2371 matchN(0, (#list){ 2366 2372 }) 2367 - @@ -620,17 +515,10 @@ 2373 + @@ -620,17 +518,10 @@ 2368 2374 a?: (int){ int } 2369 2375 b?: (int){ int } 2370 2376 } ··· 2386 2392 } 2387 2393 } 2388 2394 t2: (_|_){ 2389 - @@ -649,10 +537,7 @@ 2390 - // [eval] 2391 - b: (_|_){ 2392 - // [eval] embed.openValidator.t2.a.b: conflicting values 1 and {b?:Y} (mismatched types int and struct): 2393 - - // ./validators.cue:25:16 2394 - // ./validators.cue:26:5 2395 - - // ./validators.cue:26:9 2396 - - // ./validators.cue:27:5 2397 - // ./validators.cue:28:8 2398 - // embed.openValidator.t2.a.b: invalid value 1 (does not satisfy matchN): 0 matched, expected 1: 2399 - // ./validators.cue:25:5 2400 - @@ -709,16 +594,11 @@ 2395 + @@ -709,16 +600,11 @@ 2401 2396 } 2402 2397 out: (_|_){ 2403 2398 // [eval] ··· 2415 2410 } 2416 2411 } 2417 2412 } 2418 - @@ -751,17 +631,11 @@ 2413 + @@ -751,17 +637,11 @@ 2419 2414 } 2420 2415 out: (_|_){ 2421 2416 // [eval] ··· 2434 2429 } 2435 2430 } 2436 2431 } 2437 - @@ -807,8 +681,8 @@ 2432 + @@ -807,8 +687,8 @@ 2438 2433 // ./issue3832.cue:8:16 2439 2434 } 2440 2435 outFirstName: (_|_){ ··· 2445 2440 } 2446 2441 } 2447 2442 } 2448 - @@ -818,35 +692,27 @@ 2443 + @@ -818,35 +698,27 @@ 2449 2444 }, (#struct){ 2450 2445 pass: (#struct){ 2451 2446 let self#2 = (_|_){ ··· 2491 2486 pass: (#struct){ 2492 2487 let self#2 = (#struct){ 2493 2488 firstName: (string){ "Sam" } 2494 - @@ -853,20 +719,24 @@ 2489 + @@ -853,20 +725,24 @@ 2495 2490 } 2496 2491 outFirstName: (string){ "Sam" } 2497 2492 } ··· 2530 2525 ok: (struct){ 2531 2526 out: (#struct){ 2532 2527 a: (#struct){ 2533 - @@ -887,11 +757,18 @@ 2528 + @@ -887,11 +763,18 @@ 2534 2529 b: (string){ "foo" } 2535 2530 } 2536 2531 } ··· 2554 2549 } 2555 2550 } 2556 2551 #A: (#struct){ 2557 - @@ -962,12 +839,8 @@ 2552 + @@ -962,12 +845,8 @@ 2558 2553 globalField: (string){ string } 2559 2554 } 2560 2555 #Context: (#struct){ ··· 2569 2564 } 2570 2565 out: (struct){ 2571 2566 ingress: (#struct){ 2572 - @@ -995,22 +868,22 @@ 2567 + @@ -995,22 +874,22 @@ 2573 2568 #Z: (#struct){ 2574 2569 } 2575 2570 x: (#struct){ ··· 2608 2603 z: (int){ 1 } 2609 2604 } 2610 2605 } 2611 - @@ -1020,22 +893,22 @@ 2606 + @@ -1020,22 +899,22 @@ 2612 2607 #Z: (#struct){ 2613 2608 } 2614 2609 x: (#struct){ ··· 2647 2642 z: (int){ 1 } 2648 2643 } 2649 2644 } 2650 - @@ -1050,11 +923,7 @@ 2645 + @@ -1050,11 +929,7 @@ 2651 2646 } 2652 2647 } 2653 2648 #JobConfig: (#struct){ ··· 2660 2655 job: (#struct){ 2661 2656 image: (string){ "foo:v1" } 2662 2657 vcs: (string){ "git" } 2663 - @@ -1118,7 +987,7 @@ 2658 + @@ -1118,7 +993,7 @@ 2664 2659 } 2665 2660 } 2666 2661 out: (#struct){ ··· 2669 2664 input: (#struct){ 2670 2665 image: (string){ "someimage" } 2671 2666 env: (string){ "FOO" } 2672 - @@ -1150,11 +1019,11 @@ 2667 + @@ -1150,11 +1025,11 @@ 2673 2668 _in: (_){ _ } 2674 2669 out: (_){ _ } 2675 2670 } ··· 2686 2681 e: (string){ "foo" } 2687 2682 f: (int){ 1 } 2688 2683 } 2689 - @@ -1187,24 +1056,16 @@ 2684 + @@ -1187,24 +1062,16 @@ 2690 2685 _in: (_){ _ } 2691 2686 out: (_){ _ } 2692 2687 } ··· 2721 2716 } 2722 2717 } 2723 2718 issue3934: (struct){ 2724 - @@ -1291,7 +1152,7 @@ 2719 + @@ -1291,7 +1158,7 @@ 2725 2720 op: (string){ "add" } 2726 2721 path: (string){ "/metadata" } 2727 2722 value: (_|_){ ··· 2730 2725 // ./large.cue:7:25 2731 2726 // ./large.cue:3:12 2732 2727 } 2733 - @@ -1320,38 +1181,11 @@ 2728 + @@ -1320,38 +1187,11 @@ 2734 2729 #Main: (#struct){ 2735 2730 namespace: (string){ string } 2736 2731 output: (_|_){ ··· 2771 2766 let base#7 = (#struct){ 2772 2767 someMsg: (string){ string } 2773 2768 obs: (#struct){ |(*(#struct){ 2774 - @@ -1370,7 +1204,7 @@ 2769 + @@ -1370,7 +1210,7 @@ 2775 2770 op: (string){ "add" } 2776 2771 path: (string){ "/metadata" } 2777 2772 value: (_|_){ ··· 2780 2775 // ./large.cue:7:25 2781 2776 // ./large.cue:3:12 2782 2777 } 2783 - @@ -1394,6 +1228,19 @@ 2778 + @@ -1394,6 +1234,19 @@ 2784 2779 } 2785 2780 } 2786 2781 } ··· 2800 2795 } 2801 2796 } 2802 2797 out: (#struct){ 2803 - @@ -1423,17 +1270,8 @@ 2798 + @@ -1423,17 +1276,8 @@ 2804 2799 // ./validators.cue:36:17 2805 2800 // disjunction.withErr.t1.out.b1.b2.b3: undefined field: mayExistLater: 2806 2801 // ./validators.cue:33:22
+35 -25
cue/testdata/disjunctions/errors.txtar
··· 145 145 issue516.x.match.metrics.foo: field not allowed: 146 146 ./in.cue:23:21 147 147 issue570.results.result: conflicting values "hello" and [...string] (mismatched types string and list): 148 + ./in.cue:2:11 148 149 ./in.cue:3:19 149 150 ./in.cue:12:12 150 151 ··· 157 158 // [eval] 158 159 result: (_|_){ 159 160 // [eval] issue570.results.result: conflicting values "hello" and [...string] (mismatched types string and list): 161 + // ./in.cue:2:11 160 162 // ./in.cue:3:19 161 163 // ./in.cue:12:12 162 164 } ··· 308 310 p1: (struct){ |((struct){ 309 311 a?: (_|_){ 310 312 // [eval] issue3599.reduced.p1.a: conflicting values 2 and 1: 313 + // ./issue3599.cue:31:25 314 + // ./issue3599.cue:32:2 311 315 // ./issue3599.cue:32:9 312 316 // ./issue3599.cue:32:11 313 317 } ··· 315 319 a: (string){ string } 316 320 b?: (_|_){ 317 321 // [eval] issue3599.reduced.p1.b: conflicting values 2 and 1: 322 + // ./issue3599.cue:31:25 323 + // ./issue3599.cue:32:2 318 324 // ./issue3599.cue:32:35 319 325 // ./issue3599.cue:32:37 320 326 } ··· 322 328 p2: (struct){ |((struct){ 323 329 a?: (_|_){ 324 330 // [eval] issue3599.reduced.p2.a: conflicting values 2 and 1: 331 + // ./issue3599.cue:35:25 332 + // ./issue3599.cue:37:2 325 333 // ./issue3599.cue:37:9 326 334 // ./issue3599.cue:37:11 327 335 } ··· 329 337 a: (string){ string } 330 338 b?: (_|_){ 331 339 // [eval] issue3599.reduced.p2.b: conflicting values 2 and 1: 340 + // ./issue3599.cue:35:25 341 + // ./issue3599.cue:37:2 332 342 // ./issue3599.cue:37:35 333 343 // ./issue3599.cue:37:37 334 344 } ··· 339 349 a: (int){ 1 } 340 350 let B#1 = (_|_){ 341 351 // [eval] issue3599.let.B: conflicting values 2 and 1: 352 + // ./issue3599.cue:39:17 353 + // ./issue3599.cue:40:2 342 354 // ./issue3599.cue:40:29 343 355 // ./issue3599.cue:40:31 344 356 } ··· 349 361 diff old new 350 362 --- old 351 363 +++ new 352 - @@ -1,15 +1,10 @@ 364 + @@ -1,12 +1,8 @@ 353 365 Errors: 354 366 issue516.x: 2 errors in empty disjunction: 355 367 issue516.x.match: field not allowed: ··· 361 373 - ./in.cue:22:5 362 374 ./in.cue:23:21 363 375 issue570.results.result: conflicting values "hello" and [...string] (mismatched types string and list): 364 - - ./in.cue:2:11 365 - ./in.cue:3:19 366 - ./in.cue:12:12 367 - 368 - @@ -19,17 +14,12 @@ 376 + ./in.cue:2:11 377 + @@ -19,10 +15,7 @@ 369 378 issue570: (_|_){ 370 379 // [eval] 371 380 results: (_|_){ ··· 376 385 + // [eval] 377 386 result: (_|_){ 378 387 // [eval] issue570.results.result: conflicting values "hello" and [...string] (mismatched types string and list): 379 - - // ./in.cue:2:11 388 + // ./in.cue:2:11 389 + @@ -29,7 +22,6 @@ 380 390 // ./in.cue:3:19 381 391 // ./in.cue:12:12 382 392 } ··· 384 394 } 385 395 #Output: (#struct){ |((#struct){ 386 396 result: (_){ _ } 387 - @@ -40,7 +30,9 @@ 397 + @@ -40,7 +32,9 @@ 388 398 result: (list){ 389 399 } 390 400 }, (#struct){ ··· 395 405 } 396 406 error: (string){ string } 397 407 }) } 398 - @@ -59,18 +51,10 @@ 408 + @@ -59,18 +53,10 @@ 399 409 x: (_|_){ 400 410 // [eval] issue516.x: 2 errors in empty disjunction: 401 411 // issue516.x.match: field not allowed: ··· 415 425 metrics: (struct){ 416 426 foo: (struct){ 417 427 } 418 - @@ -136,13 +120,11 @@ 428 + @@ -136,13 +122,11 @@ 419 429 reduced: (struct){ 420 430 list: (_|_){ 421 431 // [incomplete] issue3581.reduced.list: 2 errors in empty disjunction: ··· 432 442 } 433 443 c: (_){ _ } 434 444 } 435 - @@ -186,7 +168,6 @@ 445 + @@ -186,6 +170,7 @@ 436 446 p1: (struct){ |((struct){ 437 447 a?: (_|_){ 438 448 // [eval] issue3599.reduced.p1.a: conflicting values 2 and 1: 439 - - // ./issue3599.cue:32:2 449 + + // ./issue3599.cue:31:25 450 + // ./issue3599.cue:32:2 440 451 // ./issue3599.cue:32:9 441 452 // ./issue3599.cue:32:11 442 - } 443 - @@ -194,7 +175,6 @@ 453 + @@ -194,6 +179,7 @@ 444 454 a: (string){ string } 445 455 b?: (_|_){ 446 456 // [eval] issue3599.reduced.p1.b: conflicting values 2 and 1: 447 - - // ./issue3599.cue:32:2 457 + + // ./issue3599.cue:31:25 458 + // ./issue3599.cue:32:2 448 459 // ./issue3599.cue:32:35 449 460 // ./issue3599.cue:32:37 450 - } 451 - @@ -202,7 +182,6 @@ 461 + @@ -202,6 +188,7 @@ 452 462 p2: (struct){ |((struct){ 453 463 a?: (_|_){ 454 464 // [eval] issue3599.reduced.p2.a: conflicting values 2 and 1: 455 - - // ./issue3599.cue:37:2 465 + + // ./issue3599.cue:35:25 466 + // ./issue3599.cue:37:2 456 467 // ./issue3599.cue:37:9 457 468 // ./issue3599.cue:37:11 458 - } 459 - @@ -210,7 +189,6 @@ 469 + @@ -210,6 +197,7 @@ 460 470 a: (string){ string } 461 471 b?: (_|_){ 462 472 // [eval] issue3599.reduced.p2.b: conflicting values 2 and 1: 463 - - // ./issue3599.cue:37:2 473 + + // ./issue3599.cue:35:25 474 + // ./issue3599.cue:37:2 464 475 // ./issue3599.cue:37:35 465 476 // ./issue3599.cue:37:37 466 - } 467 - @@ -221,7 +199,6 @@ 477 + @@ -221,6 +209,7 @@ 468 478 a: (int){ 1 } 469 479 let B#1 = (_|_){ 470 480 // [eval] issue3599.let.B: conflicting values 2 and 1: 471 - - // ./issue3599.cue:40:2 481 + + // ./issue3599.cue:39:17 482 + // ./issue3599.cue:40:2 472 483 // ./issue3599.cue:40:29 473 484 // ./issue3599.cue:40:31 474 - } 475 485 -- diff/todo/p3 -- 476 486 Missing error positions. 477 487 -- diff/explanation --
+20 -27
cue/testdata/eval/bounds.txtar
··· 265 265 nonConcrete.eErr5: conflicting values =="foo" and int (mismatched types string and int): 266 266 ./equals.cue:32:8 267 267 ./equals.cue:43:9 268 + ./equals.cue:44:9 268 269 simplifyBinary.float.err1.p1: incompatible number bounds <1 and >2: 269 270 ./binary.cue:2:18 270 271 ./binary.cue:2:13 ··· 729 730 // [eval] nonConcrete.eErr5: conflicting values =="foo" and int (mismatched types string and int): 730 731 // ./equals.cue:32:8 731 732 // ./equals.cue:43:9 733 + // ./equals.cue:44:9 732 734 } 733 735 eErr6: (_|_){ 734 736 // [incomplete] nonConcrete.eErr6: non-concrete value _int for bound ==: ··· 905 907 diff old new 906 908 --- old 907 909 +++ new 908 - @@ -2,115 +2,108 @@ 909 - nonConcrete.eErr5: conflicting values =="foo" and int (mismatched types string and int): 910 + @@ -3,114 +3,108 @@ 910 911 ./equals.cue:32:8 911 912 ./equals.cue:43:9 912 - - ./equals.cue:44:9 913 + ./equals.cue:44:9 913 914 -simplifyBinary.byte.err1.p1: incompatible bytes bounds <'a' and >'b': 914 915 - ./binarystring.cue:27:13 915 916 - ./binarystring.cue:27:20 ··· 1079 1080 equalScalar.err1: invalid value 2 (out of bound ==1): 1080 1081 ./equals.cue:10:8 1081 1082 ./equals.cue:11:8 1082 - @@ -117,12 +110,12 @@ 1083 + @@ -117,12 +111,12 @@ 1083 1084 equalScalar.err2: invalid value [1,2] (out of bound !=[1,2]): 1084 1085 ./equals.cue:14:8 1085 1086 ./equals.cue:13:8 ··· 1095 1096 simplifyExpr.e2: cannot use null for bound >: 1096 1097 ./in.cue:62:8 1097 1098 1098 - @@ -137,13 +130,13 @@ 1099 + @@ -137,13 +131,13 @@ 1099 1100 // [eval] 1100 1101 p1: (_|_){ 1101 1102 // [eval] simplifyBinary.float.err1.p1: incompatible number bounds <1 and >2: ··· 1111 1112 } 1112 1113 } 1113 1114 err2: (_|_){ 1114 - @@ -150,13 +143,13 @@ 1115 + @@ -150,13 +144,13 @@ 1115 1116 // [eval] 1116 1117 p1: (_|_){ 1117 1118 // [eval] simplifyBinary.float.err2.p1: incompatible number bounds <=1 and >2: ··· 1127 1128 } 1128 1129 } 1129 1130 err3: (_|_){ 1130 - @@ -163,23 +156,23 @@ 1131 + @@ -163,23 +157,23 @@ 1131 1132 // [eval] 1132 1133 p1: (_|_){ 1133 1134 // [eval] simplifyBinary.float.err3.p1: incompatible number bounds <2 and >=2: ··· 1155 1156 } 1156 1157 } 1157 1158 ok1: (struct){ 1158 - @@ -196,50 +189,50 @@ 1159 + @@ -196,50 +190,50 @@ 1159 1160 err1: (_|_){ 1160 1161 // [eval] 1161 1162 p1: (_|_){ ··· 1242 1243 } 1243 1244 } 1244 1245 err4: (_|_){ 1245 - @@ -246,17 +239,13 @@ 1246 + @@ -246,17 +240,13 @@ 1246 1247 // [eval] 1247 1248 p1: (_|_){ 1248 1249 // [eval] simplifyBinary.integer.err4.p1: incompatible integer bounds >1 and <2: ··· 1262 1263 } 1263 1264 } 1264 1265 ok1: (struct){ 1265 - @@ -280,13 +269,13 @@ 1266 + @@ -280,13 +270,13 @@ 1266 1267 // [eval] 1267 1268 p1: (_|_){ 1268 1269 // [eval] simplifyBinary.strings.err1.p1: incompatible string bounds <"a" and >"b": ··· 1278 1279 } 1279 1280 } 1280 1281 err2: (_|_){ 1281 - @@ -293,13 +282,13 @@ 1282 + @@ -293,13 +283,13 @@ 1282 1283 // [eval] 1283 1284 p1: (_|_){ 1284 1285 // [eval] simplifyBinary.strings.err2.p1: incompatible string bounds <="a" and >"b": ··· 1294 1295 } 1295 1296 } 1296 1297 err3: (_|_){ 1297 - @@ -306,23 +295,23 @@ 1298 + @@ -306,23 +296,23 @@ 1298 1299 // [eval] 1299 1300 p1: (_|_){ 1300 1301 // [eval] simplifyBinary.strings.err3.p1: incompatible string bounds <"b" and >="b": ··· 1322 1323 } 1323 1324 } 1324 1325 ok1: (struct){ 1325 - @@ -349,13 +338,13 @@ 1326 + @@ -349,13 +339,13 @@ 1326 1327 // [eval] 1327 1328 p1: (_|_){ 1328 1329 // [eval] simplifyBinary.byte.err1.p1: incompatible bytes bounds <'a' and >'b': ··· 1338 1339 } 1339 1340 } 1340 1341 err2: (_|_){ 1341 - @@ -362,13 +351,13 @@ 1342 + @@ -362,13 +352,13 @@ 1342 1343 // [eval] 1343 1344 p1: (_|_){ 1344 1345 // [eval] simplifyBinary.byte.err2.p1: incompatible bytes bounds <='a' and >'b': ··· 1354 1355 } 1355 1356 } 1356 1357 err3: (_|_){ 1357 - @@ -375,23 +364,23 @@ 1358 + @@ -375,23 +365,23 @@ 1358 1359 // [eval] 1359 1360 p1: (_|_){ 1360 1361 // [eval] simplifyBinary.byte.err3.p1: incompatible bytes bounds <'b' and >='b': ··· 1382 1383 } 1383 1384 } 1384 1385 ok1: (struct){ 1385 - @@ -416,9 +405,7 @@ 1386 + @@ -416,9 +406,7 @@ 1386 1387 equalScalar: (_|_){ 1387 1388 // [eval] 1388 1389 ok1: (int){ 1 } ··· 1393 1394 0: (int){ 1 } 1394 1395 1: (int){ 2 } 1395 1396 } 1396 - @@ -439,10 +426,7 @@ 1397 + @@ -439,10 +427,7 @@ 1397 1398 // [eval] 1398 1399 ok1: (struct){ 1399 1400 } ··· 1405 1406 a: (int){ 1 } 1406 1407 b: (int){ 2 } 1407 1408 } 1408 - @@ -453,7 +437,10 @@ 1409 + @@ -453,7 +438,10 @@ 1409 1410 a: (int){ 1 } 1410 1411 b: (int){ 2 } 1411 1412 } ··· 1417 1418 a: (int){ 1 } 1418 1419 b: (int){ 2 } 1419 1420 } 1420 - @@ -473,8 +460,6 @@ 1421 + @@ -473,8 +461,6 @@ 1421 1422 iErr3: (_|_){ 1422 1423 // [incomplete] nonConcrete.iErr3: non-concrete value _int for bound ==: 1423 1424 // ./equals.cue:37:11 ··· 1426 1427 } 1427 1428 iErr4: (int){ &(==1, int) } 1428 1429 eErr5: (_|_){ 1429 - @@ -481,7 +466,6 @@ 1430 - // [eval] nonConcrete.eErr5: conflicting values =="foo" and int (mismatched types string and int): 1431 - // ./equals.cue:32:8 1432 - // ./equals.cue:43:9 1433 - - // ./equals.cue:44:9 1434 - } 1435 - eErr6: (_|_){ 1436 - // [incomplete] nonConcrete.eErr6: non-concrete value _int for bound ==: 1437 1430 -- out/eval -- 1438 1431 Errors: 1439 1432 nonConcrete.eErr5: conflicting values =="foo" and int (mismatched types string and int):
+23 -10
cue/testdata/eval/comprehensions.txtar
··· 136 136 Errors: 137 137 issue3691.original.a.b.c: conflicting values string and 1 (mismatched types string and int): 138 138 ./issue3691.cue:4:15 139 + ./issue3691.cue:6:5 140 + ./issue3691.cue:7:3 139 141 ./issue3691.cue:8:10 140 142 issue3691.structuralCycle.a.b.c: conflicting values string and {[string]:X} (mismatched types string and struct): 141 143 ./issue3691.cue:14:15 142 144 ./issue3691.cue:15:5 145 + ./issue3691.cue:16:5 146 + ./issue3691.cue:17:3 147 + ./issue3691.cue:18:10 143 148 144 149 Result: 145 150 (_|_){ ··· 258 263 c: (_|_){ 259 264 // [eval] issue3691.original.a.b.c: conflicting values string and 1 (mismatched types string and int): 260 265 // ./issue3691.cue:4:15 266 + // ./issue3691.cue:6:5 267 + // ./issue3691.cue:7:3 261 268 // ./issue3691.cue:8:10 262 269 } 263 270 } ··· 275 282 // [eval] issue3691.structuralCycle.a.b.c: conflicting values string and {[string]:X} (mismatched types string and struct): 276 283 // ./issue3691.cue:14:15 277 284 // ./issue3691.cue:15:5 285 + // ./issue3691.cue:16:5 286 + // ./issue3691.cue:17:3 287 + // ./issue3691.cue:18:10 278 288 b*: (_|_){// [e]if true { 279 289 // c: 〈3;a〉 280 290 // } & 〈1;X〉 ··· 289 299 diff old new 290 300 --- old 291 301 +++ new 292 - @@ -1,14 +1,10 @@ 302 + @@ -1,14 +1,15 @@ 293 303 Errors: 294 304 issue3691.original.a.b.c: conflicting values string and 1 (mismatched types string and int): 295 305 ./issue3691.cue:4:15 296 - - ./issue3691.cue:7:3 306 + + ./issue3691.cue:6:5 307 + ./issue3691.cue:7:3 297 308 ./issue3691.cue:8:10 298 309 issue3691.structuralCycle.a.b.c: conflicting values string and {[string]:X} (mismatched types string and struct): 299 310 ./issue3691.cue:14:15 300 311 ./issue3691.cue:15:5 301 - - ./issue3691.cue:17:3 302 - - ./issue3691.cue:18:10 312 + + ./issue3691.cue:16:5 313 + ./issue3691.cue:17:3 314 + ./issue3691.cue:18:10 303 315 -issue3691.structuralCycle.a.b.c.b.c: structural cycle 304 316 305 317 Result: 306 318 (_|_){ 307 - @@ -127,7 +123,6 @@ 319 + @@ -127,6 +128,7 @@ 308 320 c: (_|_){ 309 321 // [eval] issue3691.original.a.b.c: conflicting values string and 1 (mismatched types string and int): 310 322 // ./issue3691.cue:4:15 311 - - // ./issue3691.cue:7:3 323 + + // ./issue3691.cue:6:5 324 + // ./issue3691.cue:7:3 312 325 // ./issue3691.cue:8:10 313 326 } 314 - } 315 - @@ -145,13 +140,9 @@ 327 + @@ -145,13 +147,12 @@ 316 328 // [eval] issue3691.structuralCycle.a.b.c: conflicting values string and {[string]:X} (mismatched types string and struct): 317 329 // ./issue3691.cue:14:15 318 330 // ./issue3691.cue:15:5 319 - - // ./issue3691.cue:17:3 320 - - // ./issue3691.cue:18:10 331 + + // ./issue3691.cue:16:5 332 + // ./issue3691.cue:17:3 333 + // ./issue3691.cue:18:10 321 334 - b: (_|_){ 322 335 - // [structural cycle] 323 336 - c: (_|_){
-83
cue/testdata/eval/conflicts.txtar
··· 27 27 Unifications: 15 28 28 Conjuncts: 23 29 29 Disjuncts: 15 30 - -- out/evalalpha -- 31 - Errors: 32 - t0.v: conflicting values int and string (mismatched types int and string): 33 - ./in.cue:1:4 34 - ./in.cue:2:4 35 - t1.x.a.b: conflicting values 4 and 3: 36 - ./in.cue:10:9 37 - ./in.cue:14:9 38 - 39 - Result: 40 - (_|_){ 41 - // [eval] 42 - i: (int){ int } 43 - s: (string){ string } 44 - t0: (_|_){ 45 - // [eval] 46 - v: (_|_){ 47 - // [eval] t0.v: conflicting values int and string (mismatched types int and string): 48 - // ./in.cue:1:4 49 - // ./in.cue:2:4 50 - } 51 - } 52 - t1: (_|_){ 53 - // [eval] 54 - #d1: (#struct){ 55 - a: (#struct){ 56 - b: (int){ 3 } 57 - } 58 - } 59 - #d2: (#struct){ 60 - a: (#struct){ 61 - b: (int){ 4 } 62 - } 63 - } 64 - x: (_|_){ 65 - // [eval] 66 - a: (_|_){ 67 - // [eval] 68 - b: (_|_){ 69 - // [eval] t1.x.a.b: conflicting values 4 and 3: 70 - // ./in.cue:10:9 71 - // ./in.cue:14:9 72 - } 73 - } 74 - } 75 - } 76 - } 77 - -- diff/-out/evalalpha<==>+out/eval -- 78 - diff old new 79 - --- old 80 - +++ new 81 - @@ -2,12 +2,9 @@ 82 - t0.v: conflicting values int and string (mismatched types int and string): 83 - ./in.cue:1:4 84 - ./in.cue:2:4 85 - - ./in.cue:5:9 86 - t1.x.a.b: conflicting values 4 and 3: 87 - ./in.cue:10:9 88 - ./in.cue:14:9 89 - - ./in.cue:17:5 90 - - ./in.cue:17:11 91 - 92 - Result: 93 - (_|_){ 94 - @@ -20,7 +17,6 @@ 95 - // [eval] t0.v: conflicting values int and string (mismatched types int and string): 96 - // ./in.cue:1:4 97 - // ./in.cue:2:4 98 - - // ./in.cue:5:9 99 - } 100 - } 101 - t1: (_|_){ 102 - @@ -43,8 +39,6 @@ 103 - // [eval] t1.x.a.b: conflicting values 4 and 3: 104 - // ./in.cue:10:9 105 - // ./in.cue:14:9 106 - - // ./in.cue:17:5 107 - - // ./in.cue:17:11 108 - } 109 - } 110 - } 111 - -- diff/todo/p2 -- 112 - Positions. 113 30 -- out/eval -- 114 31 Errors: 115 32 t0.v: conflicting values int and string (mismatched types int and string):
+16 -6
cue/testdata/eval/conjuncts.txtar
··· 84 84 -- out/evalalpha -- 85 85 Errors: 86 86 param: conflicting values [{}] and "foo" (mismatched types list and string): 87 + ./issue2351.cue:1:17 87 88 ./issue2351.cue:2:15 89 + ./issue2351.cue:3:2 90 + ./issue2351.cue:4:10 88 91 ./issue2351.cue:4:19 89 92 90 93 Result: ··· 120 123 // [eval] 121 124 let: (_|_){ 122 125 // [eval] param: conflicting values [{}] and "foo" (mismatched types list and string): 126 + // ./issue2351.cue:1:17 123 127 // ./issue2351.cue:2:15 128 + // ./issue2351.cue:3:2 129 + // ./issue2351.cue:4:10 124 130 // ./issue2351.cue:4:19 125 131 let _param#1 = (string){ "foo" } 126 132 } ··· 188 194 diff old new 189 195 --- old 190 196 +++ new 191 - @@ -1,7 +1,6 @@ 197 + @@ -1,7 +1,9 @@ 192 198 Errors: 193 199 -issue2351.let.param: conflicting values "foo" and [{}] (mismatched types string and list): 194 200 +param: conflicting values [{}] and "foo" (mismatched types list and string): 201 + + ./issue2351.cue:1:17 195 202 ./issue2351.cue:2:15 196 - - ./issue2351.cue:3:2 203 + ./issue2351.cue:3:2 204 + + ./issue2351.cue:4:10 197 205 ./issue2351.cue:4:19 198 206 199 207 Result: 200 - @@ -22,14 +21,13 @@ 208 + @@ -22,14 +24,13 @@ 201 209 string 202 210 #early: (string){ |(*(string){ "X" }, (string){ string }) } 203 211 }) } ··· 219 227 } 220 228 handleComprehensions: (struct){ 221 229 #sub2: (int){ 2 } 222 - @@ -37,9 +35,8 @@ 230 + @@ -37,9 +38,11 @@ 223 231 issue2351: (_|_){ 224 232 // [eval] 225 233 let: (_|_){ 226 234 - // [eval] issue2351.let.param: conflicting values "foo" and [{}] (mismatched types string and list): 227 235 + // [eval] param: conflicting values [{}] and "foo" (mismatched types list and string): 236 + + // ./issue2351.cue:1:17 228 237 // ./issue2351.cue:2:15 229 - - // ./issue2351.cue:3:2 238 + // ./issue2351.cue:3:2 239 + + // ./issue2351.cue:4:10 230 240 // ./issue2351.cue:4:19 231 241 let _param#1 = (string){ "foo" } 232 242 } 233 - @@ -67,7 +64,7 @@ 243 + @@ -67,7 +70,7 @@ 234 244 } 235 245 } 236 246 }
+13 -28
cue/testdata/eval/disjunctions.txtar
··· 390 390 f: 2 errors in empty disjunction: 391 391 f.name: conflicting values "int" and "str": 392 392 ./in.cue:5:8 393 + ./in.cue:15:4 393 394 ./in.cue:15:15 394 395 f.val: conflicting values 3 and string (mismatched types int and string): 395 396 ./in.cue:9:8 397 + ./in.cue:15:4 396 398 ./in.cue:15:27 397 399 issue3606.data: 2 errors in empty disjunction: 398 400 issue3606.data: conflicting values string and {notAllowed:true} (mismatched types string and struct): ··· 521 523 // [eval] f: 2 errors in empty disjunction: 522 524 // f.name: conflicting values "int" and "str": 523 525 // ./in.cue:5:8 526 + // ./in.cue:15:4 524 527 // ./in.cue:15:15 525 528 // f.val: conflicting values 3 and string (mismatched types int and string): 526 529 // ./in.cue:9:8 530 + // ./in.cue:15:4 527 531 // ./in.cue:15:27 528 532 name: (string){ "str" } 529 533 val: (int){ 3 } ··· 871 875 diff old new 872 876 --- old 873 877 +++ new 874 - @@ -2,11 +2,9 @@ 875 - f: 2 errors in empty disjunction: 876 - f.name: conflicting values "int" and "str": 877 - ./in.cue:5:8 878 - - ./in.cue:15:4 879 - ./in.cue:15:15 880 - f.val: conflicting values 3 and string (mismatched types int and string): 881 - ./in.cue:9:8 882 - - ./in.cue:15:4 883 - ./in.cue:15:27 884 - issue3606.data: 2 errors in empty disjunction: 885 - issue3606.data: conflicting values string and {notAllowed:true} (mismatched types string and struct): 886 - @@ -14,8 +12,6 @@ 878 + @@ -14,8 +14,6 @@ 887 879 ./dependencies.cue:6:6 888 880 issue3606.data.notAllowed: field not allowed: 889 881 ./dependencies.cue:3:3 ··· 892 884 893 885 Result: 894 886 (_|_){ 895 - @@ -29,14 +25,7 @@ 887 + @@ -29,14 +27,7 @@ 896 888 // ./dependencies.cue:6:6 897 889 // issue3606.data.notAllowed: field not allowed: 898 890 // ./dependencies.cue:3:3 ··· 908 900 } 909 901 #S: ((string|struct)){ |((string){ string }, (#struct){ 910 902 }) } 911 - @@ -144,19 +133,12 @@ 912 - // [eval] f: 2 errors in empty disjunction: 913 - // f.name: conflicting values "int" and "str": 914 - // ./in.cue:5:8 915 - - // ./in.cue:15:4 916 - // ./in.cue:15:15 917 - // f.val: conflicting values 3 and string (mismatched types int and string): 918 - // ./in.cue:9:8 919 - - // ./in.cue:15:4 903 + @@ -151,12 +142,7 @@ 904 + // ./in.cue:15:4 920 905 // ./in.cue:15:27 921 906 name: (string){ "str" } 922 907 - val: (_|_){ ··· 929 914 } 930 915 e1: (struct){ 931 916 a: ((null|struct)){ |((null){ null }, (struct){ 932 - @@ -268,8 +250,8 @@ 917 + @@ -268,8 +254,8 @@ 933 918 e: (struct){ 934 919 foobar: (#struct){ 935 920 b: (#struct){ ··· 939 924 } 940 925 } 941 926 } 942 - @@ -279,10 +261,7 @@ 927 + @@ -279,10 +265,7 @@ 943 928 x: (int){ 0 } 944 929 } 945 930 inList1: (struct){ ··· 951 936 } 952 937 inList2: (struct){ 953 938 x: (int){ 0 } 954 - @@ -402,7 +381,7 @@ 939 + @@ -402,7 +385,7 @@ 955 940 let Ok#2 = (bool){ true } 956 941 }, (#struct){ 957 942 _ok: (bool){ true } ··· 960 945 x: (bool){ true } 961 946 }) } 962 947 bar: (#struct){ |((#struct){ 963 - @@ -437,9 +416,7 @@ 948 + @@ -437,9 +420,7 @@ 964 949 issue3891: (struct){ 965 950 reduced: (struct){ 966 951 x: (_){ |(*(int){ 1 }, (_){ _ }) } ··· 971 956 b: (struct){ 972 957 y: (int){ 1 } 973 958 } 974 - @@ -475,14 +452,14 @@ 959 + @@ -475,14 +456,14 @@ 975 960 } 976 961 full: (struct){ 977 962 out: (#struct){
+9 -3
cue/testdata/eval/issue3330.txtar
··· 51 51 eliminated.x: conflicting values null and {} (mismatched types null and struct): 52 52 ./in.cue:21:10 53 53 ./in.cue:22:5 54 + ./in.cue:23:5 54 55 eliminated.x.n: field not allowed: 55 56 ./in.cue:22:14 56 57 ./in.cue:23:16 ··· 79 80 // eliminated.x: conflicting values null and {} (mismatched types null and struct): 80 81 // ./in.cue:21:10 81 82 // ./in.cue:22:5 83 + // ./in.cue:23:5 82 84 // eliminated.x.n: field not allowed: 83 85 // ./in.cue:22:14 84 86 // ./in.cue:23:16 ··· 89 91 // eliminated.x: conflicting values null and {} (mismatched types null and struct): 90 92 // ./in.cue:21:10 91 93 // ./in.cue:22:5 94 + // ./in.cue:23:5 92 95 // eliminated.x.n: field not allowed: 93 96 // ./in.cue:22:14 94 97 // ./in.cue:23:16 ··· 115 118 diff old new 116 119 --- old 117 120 +++ new 118 - @@ -1,12 +1,10 @@ 121 + @@ -1,12 +1,11 @@ 119 122 Errors: 120 123 eliminated.x: 2 errors in empty disjunction: 121 124 -eliminated.x: conflicting values null and {n:3} (mismatched types null and struct): ··· 123 126 + ./in.cue:21:10 124 127 ./in.cue:22:5 125 128 - ./in.cue:23:14 129 + + ./in.cue:23:5 126 130 eliminated.x.n: field not allowed: 127 131 - ./in.cue:21:10 128 132 ./in.cue:22:14 ··· 130 134 ./in.cue:23:16 131 135 132 136 Result: 133 - @@ -21,13 +19,7 @@ 137 + @@ -21,13 +20,7 @@ 134 138 } 135 139 } 136 140 out: (#list){ ··· 145 149 } 146 150 } 147 151 eliminated: (_|_){ 148 - @@ -36,31 +28,21 @@ 152 + @@ -36,31 +29,23 @@ 149 153 } 150 154 x: (_|_){ 151 155 // [eval] eliminated.x: 2 errors in empty disjunction: ··· 167 171 + // eliminated.x: conflicting values null and {} (mismatched types null and struct): 168 172 + // ./in.cue:21:10 169 173 + // ./in.cue:22:5 174 + + // ./in.cue:23:5 170 175 + // eliminated.x.n: field not allowed: 171 176 + // ./in.cue:22:14 172 177 + // ./in.cue:23:16 ··· 184 189 + // eliminated.x: conflicting values null and {} (mismatched types null and struct): 185 190 + // ./in.cue:21:10 186 191 + // ./in.cue:22:5 192 + + // ./in.cue:23:5 187 193 + // eliminated.x.n: field not allowed: 188 194 + // ./in.cue:22:14 189 195 // ./in.cue:23:16
+140 -42
cue/testdata/eval/issue3672.txtar
··· 698 698 "UseSectionName" 699 699 let INL#9 = (_|_){ 700 700 // [eval] value0.xs.0.INL: conflicting values [...] and string (mismatched types list and string): 701 + // ./x.cue:22:51 702 + // ./x.cue:22:52 703 + // ./x.cue:44:29 701 704 // ./x.cue:51:14 705 + // ./x.cue:53:18 706 + // ./x.cue:55:19 707 + // ./x.cue:62:25 708 + // ./x.cue:70:12 709 + // ./x.cue:109:13 710 + // ./x.cue:111:13 702 711 // ./x.cue:111:18 712 + // ./x.cue:123:9 703 713 // value0.xs.0.INL: conflicting values [...] and {Append:#ConfigText} (mismatched types list and struct): 714 + // ./x.cue:22:51 715 + // ./x.cue:22:52 716 + // ./x.cue:44:29 704 717 // ./x.cue:53:32 718 + // ./x.cue:55:19 719 + // ./x.cue:62:25 720 + // ./x.cue:70:12 721 + // ./x.cue:109:13 722 + // ./x.cue:111:13 705 723 // ./x.cue:111:18 724 + // ./x.cue:123:9 706 725 // value0.xs.0.INL: conflicting values [...] and {Prepend:#ConfigText} (mismatched types list and struct): 726 + // ./x.cue:22:51 727 + // ./x.cue:22:52 728 + // ./x.cue:44:29 707 729 // ./x.cue:53:56 730 + // ./x.cue:55:19 731 + // ./x.cue:62:25 732 + // ./x.cue:70:12 733 + // ./x.cue:109:13 734 + // ./x.cue:111:13 708 735 // ./x.cue:111:18 736 + // ./x.cue:123:9 709 737 // value0.xs.0.INL: conflicting values [...] and {UseSectionName:true} (mismatched types list and struct): 738 + // ./x.cue:22:51 739 + // ./x.cue:22:52 740 + // ./x.cue:44:29 710 741 // ./x.cue:51:23 742 + // ./x.cue:53:18 743 + // ./x.cue:55:19 744 + // ./x.cue:62:25 745 + // ./x.cue:70:12 746 + // ./x.cue:109:13 747 + // ./x.cue:111:13 711 748 // ./x.cue:111:18 749 + // ./x.cue:123:9 712 750 // value0.xs.0.INL: 2 errors in empty disjunction:: 713 751 // ./x.cue:113:7 714 752 UseSectionName: (_|_){ ··· 717 755 } 718 756 let INA#7 = (_|_){ 719 757 // [eval] value0.xs.0.INA: conflicting values {Prepend:#ConfigText} and [#ConfigTextRule,#ConfigTextRule,...#ConfigTextRule] (mismatched types struct and list): 758 + // ./x.cue:22:51 759 + // ./x.cue:22:52 760 + // ./x.cue:44:29 720 761 // ./x.cue:53:56 721 762 // ./x.cue:55:37 763 + // ./x.cue:62:25 764 + // ./x.cue:70:12 765 + // ./x.cue:94:13 766 + // ./x.cue:109:13 767 + // ./x.cue:112:3 768 + // ./x.cue:118:4 769 + // ./x.cue:118:38 770 + // ./x.cue:123:9 722 771 // value0.xs.0.INA: 3 errors in empty disjunction:: 723 772 // ./x.cue:97:7 724 773 // value0.xs.0.INA.Append: field not allowed: ··· 732 781 } 733 782 let INP#8 = (_|_){ 734 783 // [eval] value0.xs.0.INP: conflicting values {Prepend:#ConfigText} and [#ConfigTextRule,#ConfigTextRule,...#ConfigTextRule] (mismatched types struct and list): 784 + // ./x.cue:22:51 785 + // ./x.cue:22:52 786 + // ./x.cue:44:29 735 787 // ./x.cue:53:56 736 788 // ./x.cue:55:37 789 + // ./x.cue:62:25 790 + // ./x.cue:70:12 791 + // ./x.cue:95:13 792 + // ./x.cue:109:13 793 + // ./x.cue:112:3 794 + // ./x.cue:118:4 795 + // ./x.cue:118:38 796 + // ./x.cue:123:9 737 797 // value0.xs.0.INP: 2 errors in empty disjunction:: 738 798 // ./x.cue:100:7 739 799 // value0.xs.0.INP.UseSectionName: field not allowed: ··· 744 804 } 745 805 let INS#5 = (_|_){ 746 806 // [eval] value0.xs.0.INS: conflicting values string and {UseSectionName:true} (mismatched types string and struct): 807 + // ./x.cue:22:51 808 + // ./x.cue:22:52 809 + // ./x.cue:44:29 810 + // ./x.cue:44:56 811 + // ./x.cue:62:25 812 + // ./x.cue:70:12 813 + // ./x.cue:70:47 814 + // ./x.cue:77:13 747 815 // ./x.cue:77:18 816 + // ./x.cue:96:3 817 + // ./x.cue:103:4 818 + // ./x.cue:103:34 819 + // ./x.cue:112:3 820 + // ./x.cue:118:4 821 + // ./x.cue:118:38 822 + // ./x.cue:123:9 748 823 // ./x.cue:124:16 749 824 UseSectionName: (_|_){ 750 825 // [cycle] cycle error ··· 899 974 } 900 975 } 901 976 value0: (#struct){ 902 - @@ -304,1182 +338,58 @@ 977 + @@ -304,18 +338,21 @@ 903 978 0: (string){ 904 979 "UseSectionName" 905 980 let INL#9 = (_|_){ ··· 915 990 - // ./x.cue:123:9 916 991 - // ./x.cue:124:16 917 992 + // [eval] value0.xs.0.INL: conflicting values [...] and string (mismatched types list and string): 993 + + // ./x.cue:22:51 994 + + // ./x.cue:22:52 995 + + // ./x.cue:44:29 918 996 + // ./x.cue:51:14 997 + + // ./x.cue:53:18 998 + + // ./x.cue:55:19 999 + + // ./x.cue:62:25 1000 + + // ./x.cue:70:12 1001 + + // ./x.cue:109:13 1002 + + // ./x.cue:111:13 919 1003 + // ./x.cue:111:18 1004 + + // ./x.cue:123:9 920 1005 // value0.xs.0.INL: conflicting values [...] and {Append:#ConfigText} (mismatched types list and struct): 921 - - // ./x.cue:22:52 922 - - // ./x.cue:44:29 923 - - // ./x.cue:53:32 924 - - // ./x.cue:55:19 925 - - // ./x.cue:62:25 926 - - // ./x.cue:70:12 927 - - // ./x.cue:109:13 928 - - // ./x.cue:111:13 929 - - // ./x.cue:111:18 930 - - // ./x.cue:123:9 931 - + // ./x.cue:53:32 932 - + // ./x.cue:111:18 1006 + + // ./x.cue:22:51 1007 + // ./x.cue:22:52 1008 + // ./x.cue:44:29 1009 + // ./x.cue:53:32 1010 + @@ -327,6 +364,7 @@ 1011 + // ./x.cue:111:18 1012 + // ./x.cue:123:9 933 1013 // value0.xs.0.INL: conflicting values [...] and {Prepend:#ConfigText} (mismatched types list and struct): 934 - - // ./x.cue:22:52 935 - - // ./x.cue:44:29 936 - - // ./x.cue:53:56 937 - - // ./x.cue:55:19 938 - - // ./x.cue:62:25 939 - - // ./x.cue:70:12 940 - - // ./x.cue:109:13 941 - - // ./x.cue:111:13 942 - - // ./x.cue:111:18 943 - - // ./x.cue:123:9 944 - + // ./x.cue:53:56 945 - + // ./x.cue:111:18 1014 + + // ./x.cue:22:51 1015 + // ./x.cue:22:52 1016 + // ./x.cue:44:29 1017 + // ./x.cue:53:56 1018 + @@ -338,1131 +376,76 @@ 1019 + // ./x.cue:111:18 1020 + // ./x.cue:123:9 946 1021 // value0.xs.0.INL: conflicting values [...] and {UseSectionName:true} (mismatched types list and struct): 947 1022 - // ./x.cue:22:52 948 1023 - // ./x.cue:44:29 ··· 964 1039 - // ./x.cue:111:18 965 1040 - // ./x.cue:123:9 966 1041 - // value0.xs.0.INL: 5 errors in empty disjunction:: 1042 + + // ./x.cue:22:51 1043 + + // ./x.cue:22:52 1044 + + // ./x.cue:44:29 967 1045 + // ./x.cue:51:23 1046 + + // ./x.cue:53:18 1047 + + // ./x.cue:55:19 1048 + + // ./x.cue:62:25 1049 + + // ./x.cue:70:12 1050 + + // ./x.cue:109:13 1051 + + // ./x.cue:111:13 968 1052 + // ./x.cue:111:18 1053 + + // ./x.cue:123:9 969 1054 + // value0.xs.0.INL: 2 errors in empty disjunction:: 970 1055 // ./x.cue:113:7 971 1056 UseSectionName: (_|_){ ··· 1149 1234 - // ./x.cue:123:9 1150 1235 - // value0.xs.0.INA: 9 errors in empty disjunction:: 1151 1236 + // [eval] value0.xs.0.INA: conflicting values {Prepend:#ConfigText} and [#ConfigTextRule,#ConfigTextRule,...#ConfigTextRule] (mismatched types struct and list): 1237 + + // ./x.cue:22:51 1238 + + // ./x.cue:22:52 1239 + + // ./x.cue:44:29 1152 1240 + // ./x.cue:53:56 1153 1241 + // ./x.cue:55:37 1242 + + // ./x.cue:62:25 1243 + + // ./x.cue:70:12 1244 + + // ./x.cue:94:13 1245 + + // ./x.cue:109:13 1246 + + // ./x.cue:112:3 1247 + + // ./x.cue:118:4 1248 + + // ./x.cue:118:38 1249 + + // ./x.cue:123:9 1154 1250 + // value0.xs.0.INA: 3 errors in empty disjunction:: 1155 1251 // ./x.cue:97:7 1156 1252 // value0.xs.0.INA.Append: field not allowed: ··· 1691 1787 - // ./x.cue:123:9 1692 1788 - // ./x.cue:124:16 1693 1789 + // [eval] value0.xs.0.INP: conflicting values {Prepend:#ConfigText} and [#ConfigTextRule,#ConfigTextRule,...#ConfigTextRule] (mismatched types struct and list): 1790 + + // ./x.cue:22:51 1791 + + // ./x.cue:22:52 1792 + + // ./x.cue:44:29 1694 1793 + // ./x.cue:53:56 1695 1794 + // ./x.cue:55:37 1795 + + // ./x.cue:62:25 1796 + + // ./x.cue:70:12 1797 + + // ./x.cue:95:13 1798 + + // ./x.cue:109:13 1799 + + // ./x.cue:112:3 1800 + + // ./x.cue:118:4 1801 + + // ./x.cue:118:38 1802 + + // ./x.cue:123:9 1696 1803 + // value0.xs.0.INP: 2 errors in empty disjunction:: 1697 1804 + // ./x.cue:100:7 1698 1805 // value0.xs.0.INP.UseSectionName: field not allowed: ··· 2089 2196 } 2090 2197 let INS#5 = (_|_){ 2091 2198 // [eval] value0.xs.0.INS: conflicting values string and {UseSectionName:true} (mismatched types string and struct): 2092 - - // ./x.cue:22:52 2093 - - // ./x.cue:44:29 2094 - - // ./x.cue:44:56 2095 - - // ./x.cue:62:25 2096 - - // ./x.cue:70:12 2097 - - // ./x.cue:70:47 2098 - - // ./x.cue:77:13 2099 - // ./x.cue:77:18 2100 - - // ./x.cue:96:3 2101 - - // ./x.cue:103:4 2102 - - // ./x.cue:103:34 2103 - - // ./x.cue:112:3 2104 - - // ./x.cue:118:4 2105 - - // ./x.cue:118:38 2106 - - // ./x.cue:123:9 2107 - - // ./x.cue:124:16 2199 + + // ./x.cue:22:51 2200 + // ./x.cue:22:52 2201 + // ./x.cue:44:29 2202 + // ./x.cue:44:56 2203 + @@ -1479,7 +462,9 @@ 2204 + // ./x.cue:118:38 2205 + // ./x.cue:123:9 2206 + // ./x.cue:124:16 2108 2207 - UseSectionName: (bool){ true } 2109 - + // ./x.cue:124:16 2110 2208 + UseSectionName: (_|_){ 2111 2209 + // [cycle] cycle error 2112 2210 + }
+87 -40
cue/testdata/eval/let.txtar
··· 160 160 -- out/evalalpha -- 161 161 Errors: 162 162 indirectReference.y: conflicting values 2 and 1: 163 + ./incomprehension.cue:41:20 163 164 ./incomprehension.cue:42:7 164 165 ./incomprehension.cue:42:10 166 + ./incomprehension.cue:43:2 167 + ./incomprehension.cue:44:6 165 168 indirectReference.y: conflicting values 3 and 1: 169 + ./incomprehension.cue:41:20 166 170 ./incomprehension.cue:42:7 167 171 ./incomprehension.cue:42:13 172 + ./incomprehension.cue:43:2 173 + ./incomprehension.cue:44:6 168 174 169 175 Result: 170 176 (_|_){ ··· 275 281 } 276 282 y: (_|_){ 277 283 // [eval] indirectReference.y: conflicting values 2 and 1: 284 + // ./incomprehension.cue:41:20 278 285 // ./incomprehension.cue:42:7 279 286 // ./incomprehension.cue:42:10 287 + // ./incomprehension.cue:43:2 288 + // ./incomprehension.cue:44:6 280 289 // indirectReference.y: conflicting values 3 and 1: 290 + // ./incomprehension.cue:41:20 281 291 // ./incomprehension.cue:42:7 282 292 // ./incomprehension.cue:42:13 293 + // ./incomprehension.cue:43:2 294 + // ./incomprehension.cue:44:6 283 295 } 284 296 let X#1Dmulti = (〈0;y〉 * 4) 285 297 "0": (_|_){ 286 298 // [eval] indirectReference.y: conflicting values 2 and 1: 299 + // ./incomprehension.cue:41:20 287 300 // ./incomprehension.cue:42:7 288 301 // ./incomprehension.cue:42:10 302 + // ./incomprehension.cue:43:2 303 + // ./incomprehension.cue:44:6 289 304 // indirectReference.y: conflicting values 3 and 1: 305 + // ./incomprehension.cue:41:20 290 306 // ./incomprehension.cue:42:7 291 307 // ./incomprehension.cue:42:13 308 + // ./incomprehension.cue:43:2 309 + // ./incomprehension.cue:44:6 292 310 } 293 311 "1": (_|_){ 294 312 // [eval] indirectReference.y: conflicting values 2 and 1: 313 + // ./incomprehension.cue:41:20 295 314 // ./incomprehension.cue:42:7 296 315 // ./incomprehension.cue:42:10 316 + // ./incomprehension.cue:43:2 317 + // ./incomprehension.cue:44:6 297 318 // indirectReference.y: conflicting values 3 and 1: 319 + // ./incomprehension.cue:41:20 298 320 // ./incomprehension.cue:42:7 299 321 // ./incomprehension.cue:42:13 322 + // ./incomprehension.cue:43:2 323 + // ./incomprehension.cue:44:6 300 324 } 301 325 "2": (_|_){ 302 326 // [eval] indirectReference.y: conflicting values 2 and 1: 327 + // ./incomprehension.cue:41:20 303 328 // ./incomprehension.cue:42:7 304 329 // ./incomprehension.cue:42:10 330 + // ./incomprehension.cue:43:2 331 + // ./incomprehension.cue:44:6 305 332 // indirectReference.y: conflicting values 3 and 1: 333 + // ./incomprehension.cue:41:20 306 334 // ./incomprehension.cue:42:7 307 335 // ./incomprehension.cue:42:13 336 + // ./incomprehension.cue:43:2 337 + // ./incomprehension.cue:44:6 308 338 } 309 339 } 310 340 nestedFor: (struct){ ··· 392 422 diff old new 393 423 --- old 394 424 +++ new 395 - @@ -2,13 +2,9 @@ 425 + @@ -1,10 +1,12 @@ 426 + Errors: 396 427 indirectReference.y: conflicting values 2 and 1: 428 + + ./incomprehension.cue:41:20 397 429 ./incomprehension.cue:42:7 398 430 ./incomprehension.cue:42:10 399 - - ./incomprehension.cue:43:2 400 - - ./incomprehension.cue:44:6 431 + ./incomprehension.cue:43:2 432 + ./incomprehension.cue:44:6 401 433 indirectReference.y: conflicting values 3 and 1: 434 + + ./incomprehension.cue:41:20 402 435 ./incomprehension.cue:42:7 403 436 ./incomprehension.cue:42:13 404 - - ./incomprehension.cue:43:2 405 - - ./incomprehension.cue:44:6 406 - 407 - Result: 408 - (_|_){ 409 - @@ -105,7 +101,7 @@ 437 + ./incomprehension.cue:43:2 438 + @@ -105,7 +107,7 @@ 410 439 1: (int){ 2 } 411 440 2: (int){ 3 } 412 441 } ··· 415 444 "0": (int){ 2 } 416 445 "1": (int){ 2 } 417 446 "2": (int){ 2 } 418 - @@ -121,61 +117,34 @@ 447 + @@ -119,35 +121,28 @@ 448 + } 449 + y: (_|_){ 419 450 // [eval] indirectReference.y: conflicting values 2 and 1: 420 - // ./incomprehension.cue:42:7 421 - // ./incomprehension.cue:42:10 451 + - // ./incomprehension.cue:42:7 452 + - // ./incomprehension.cue:42:10 422 453 - // ./incomprehension.cue:43:2 423 454 - // ./incomprehension.cue:44:6 424 455 - // indirectReference.y: conflicting values 3 and 1: ··· 439 470 - // ./incomprehension.cue:43:2 440 471 - // ./incomprehension.cue:44:6 441 472 - } 473 + + // ./incomprehension.cue:41:20 474 + + // ./incomprehension.cue:42:7 475 + + // ./incomprehension.cue:42:10 476 + + // ./incomprehension.cue:43:2 477 + + // ./incomprehension.cue:44:6 442 478 + // indirectReference.y: conflicting values 3 and 1: 479 + + // ./incomprehension.cue:41:20 443 480 + // ./incomprehension.cue:42:7 444 481 + // ./incomprehension.cue:42:13 482 + + // ./incomprehension.cue:43:2 483 + + // ./incomprehension.cue:44:6 445 484 + } 446 485 + let X#1Dmulti = (〈0;y〉 * 4) 447 486 "0": (_|_){ 448 487 // [eval] indirectReference.y: conflicting values 2 and 1: 449 - // ./incomprehension.cue:42:7 450 - // ./incomprehension.cue:42:10 488 + - // ./incomprehension.cue:42:7 489 + - // ./incomprehension.cue:42:10 451 490 - // ./incomprehension.cue:43:2 452 491 - // ./incomprehension.cue:44:6 453 492 - // indirectReference.y: conflicting values 3 and 1: 454 - - // ./incomprehension.cue:42:7 455 - - // ./incomprehension.cue:42:13 456 - - // ./incomprehension.cue:43:2 457 - - // ./incomprehension.cue:44:6 458 - + // indirectReference.y: conflicting values 3 and 1: 493 + + // ./incomprehension.cue:41:20 459 494 + // ./incomprehension.cue:42:7 460 - + // ./incomprehension.cue:42:13 495 + + // ./incomprehension.cue:42:10 496 + + // ./incomprehension.cue:43:2 497 + + // ./incomprehension.cue:44:6 498 + + // indirectReference.y: conflicting values 3 and 1: 499 + + // ./incomprehension.cue:41:20 500 + // ./incomprehension.cue:42:7 501 + // ./incomprehension.cue:42:13 502 + // ./incomprehension.cue:43:2 503 + @@ -155,11 +150,13 @@ 461 504 } 462 505 "1": (_|_){ 463 506 // [eval] indirectReference.y: conflicting values 2 and 1: 464 - // ./incomprehension.cue:42:7 465 - // ./incomprehension.cue:42:10 466 - - // ./incomprehension.cue:43:2 467 - - // ./incomprehension.cue:44:6 468 - - // indirectReference.y: conflicting values 3 and 1: 469 507 - // ./incomprehension.cue:42:7 470 - - // ./incomprehension.cue:42:13 508 + - // ./incomprehension.cue:42:10 471 509 - // ./incomprehension.cue:43:2 472 510 - // ./incomprehension.cue:44:6 511 + - // indirectReference.y: conflicting values 3 and 1: 512 + + // ./incomprehension.cue:41:20 513 + + // ./incomprehension.cue:42:7 514 + + // ./incomprehension.cue:42:10 515 + + // ./incomprehension.cue:43:2 516 + + // ./incomprehension.cue:44:6 473 517 + // indirectReference.y: conflicting values 3 and 1: 474 - + // ./incomprehension.cue:42:7 475 - + // ./incomprehension.cue:42:13 518 + + // ./incomprehension.cue:41:20 519 + // ./incomprehension.cue:42:7 520 + // ./incomprehension.cue:42:13 521 + // ./incomprehension.cue:43:2 522 + @@ -167,11 +164,13 @@ 476 523 } 477 524 "2": (_|_){ 478 525 // [eval] indirectReference.y: conflicting values 2 and 1: 479 - // ./incomprehension.cue:42:7 480 - // ./incomprehension.cue:42:10 526 + - // ./incomprehension.cue:42:7 527 + - // ./incomprehension.cue:42:10 481 528 - // ./incomprehension.cue:43:2 482 529 - // ./incomprehension.cue:44:6 483 530 - // indirectReference.y: conflicting values 3 and 1: 484 - - // ./incomprehension.cue:42:7 485 - - // ./incomprehension.cue:42:13 486 - - // ./incomprehension.cue:43:2 487 - - // ./incomprehension.cue:44:6 531 + + // ./incomprehension.cue:41:20 532 + + // ./incomprehension.cue:42:7 533 + + // ./incomprehension.cue:42:10 534 + + // ./incomprehension.cue:43:2 535 + + // ./incomprehension.cue:44:6 488 536 + // indirectReference.y: conflicting values 3 and 1: 489 - + // ./incomprehension.cue:42:7 490 - + // ./incomprehension.cue:42:13 491 - } 492 - } 493 - nestedFor: (struct){ 494 - @@ -234,8 +203,8 @@ 537 + + // ./incomprehension.cue:41:20 538 + // ./incomprehension.cue:42:7 539 + // ./incomprehension.cue:42:13 540 + // ./incomprehension.cue:43:2 541 + @@ -234,8 +233,8 @@ 495 542 b: (string){ "e" } 496 543 } 497 544 let T#23multi = 〈1;v〉
+14 -34
cue/testdata/eval/nonrooted.txtar
··· 60 60 Errors: 61 61 x: conflicting values 2 and 1: 62 62 ./in.cue:20:14 63 + ./in.cue:22:8 64 + ./in.cue:26:8 63 65 ./in.cue:26:19 64 66 x: conflicting values 4 and 1: 65 67 ./in.cue:20:14 68 + ./in.cue:22:8 69 + ./in.cue:26:8 66 70 ./in.cue:26:23 67 71 x: 2 errors in empty disjunction:: 68 72 ./in.cue:23:8 ··· 101 105 err: (_|_){ 102 106 // [eval] x: conflicting values 2 and 1: 103 107 // ./in.cue:20:14 108 + // ./in.cue:22:8 109 + // ./in.cue:26:8 104 110 // ./in.cue:26:19 105 111 // x: conflicting values 4 and 1: 106 112 // ./in.cue:20:14 113 + // ./in.cue:22:8 114 + // ./in.cue:26:8 107 115 // ./in.cue:26:23 108 116 // x: 2 errors in empty disjunction:: 109 117 // ./in.cue:23:8 ··· 124 132 x: (_|_){ 125 133 // [eval] issue3977.inlineLet.p.x: conflicting values 1 and 2: 126 134 // ./in.cue:38:14 135 + // ./in.cue:40:8 127 136 // ./in.cue:43:6 128 137 } 129 138 out: (_|_){ 130 139 // [eval] issue3977.inlineLet.p.x: conflicting values 1 and 2: 131 140 // ./in.cue:38:14 141 + // ./in.cue:40:8 132 142 // ./in.cue:43:6 133 143 } 134 144 } ··· 140 150 diff old new 141 151 --- old 142 152 +++ new 143 - @@ -1,13 +1,9 @@ 144 - Errors: 145 - x: conflicting values 2 and 1: 146 - ./in.cue:20:14 147 - - ./in.cue:22:8 148 - - ./in.cue:26:8 149 - ./in.cue:26:19 150 - x: conflicting values 4 and 1: 151 - ./in.cue:20:14 152 - - ./in.cue:22:8 153 - - ./in.cue:26:8 154 - ./in.cue:26:23 155 - x: 2 errors in empty disjunction:: 156 - ./in.cue:23:8 157 - @@ -46,13 +42,9 @@ 158 - err: (_|_){ 159 - // [eval] x: conflicting values 2 and 1: 160 - // ./in.cue:20:14 161 - - // ./in.cue:22:8 162 - - // ./in.cue:26:8 163 - // ./in.cue:26:19 164 - // x: conflicting values 4 and 1: 165 - // ./in.cue:20:14 166 - - // ./in.cue:22:8 167 - - // ./in.cue:26:8 168 - // ./in.cue:26:23 169 - // x: 2 errors in empty disjunction:: 170 - // ./in.cue:23:8 171 - @@ -71,15 +63,13 @@ 153 + @@ -71,13 +71,13 @@ 172 154 let p#1 = (_|_){ 173 155 // [eval] 174 156 x: (_|_){ ··· 179 161 - } 180 162 - out: (_|_){ 181 163 - // [eval] issue3977.inlineLet.p.x: conflicting values 2 and 1: 182 - - // ./in.cue:38:14 183 - - // ./in.cue:40:8 184 164 + // [eval] issue3977.inlineLet.p.x: conflicting values 1 and 2: 185 165 + // ./in.cue:38:14 166 + + // ./in.cue:40:8 186 167 + // ./in.cue:43:6 187 168 + } 188 169 + out: (_|_){ 189 170 + // [eval] issue3977.inlineLet.p.x: conflicting values 1 and 2: 190 - + // ./in.cue:38:14 171 + // ./in.cue:38:14 172 + // ./in.cue:40:8 191 173 // ./in.cue:43:6 192 - } 193 - } 194 174 -- diff/explanation -- 195 175 evalv3 correctly fails on all places marked with "err" 196 176 -- out/eval --
+48 -53
cue/testdata/eval/notify.txtar
··· 36 36 Errors: 37 37 t1.p1: 2 errors in empty disjunction: 38 38 t1.p1: conflicting values 1 and {a:(2|1)} (mismatched types int and struct): 39 + ./in.cue:1:9 40 + ./in.cue:2:2 39 41 ./in.cue:3:5 40 42 ./in.cue:3:10 41 43 t1.p1: conflicting values 2 and {a:(2|1)} (mismatched types int and struct): 44 + ./in.cue:1:9 45 + ./in.cue:2:2 42 46 ./in.cue:3:5 43 47 ./in.cue:3:8 44 48 t1.p2: 2 errors in empty disjunction: 45 49 t1.p2: conflicting values 1 and {a:(2|1)} (mismatched types int and struct): 50 + ./in.cue:5:9 46 51 ./in.cue:6:5 47 52 ./in.cue:6:10 53 + ./in.cue:7:2 48 54 t1.p2: conflicting values 2 and {a:(2|1)} (mismatched types int and struct): 55 + ./in.cue:5:9 49 56 ./in.cue:6:5 50 57 ./in.cue:6:8 58 + ./in.cue:7:2 51 59 t2.p1.d: 2 errors in empty disjunction: 52 60 t2.p1.d: conflicting values 1 and {a:(2|1)} (mismatched types int and struct): 61 + ./in.cue:10:5 53 62 ./in.cue:11:8 54 63 ./in.cue:11:13 55 64 t2.p1.d: conflicting values 2 and {a:(2|1)} (mismatched types int and struct): 65 + ./in.cue:10:5 56 66 ./in.cue:11:8 57 67 ./in.cue:11:11 58 68 t2.p2.d: 2 errors in empty disjunction: 59 69 t2.p2.d: conflicting values 1 and {a:(2|1)} (mismatched types int and struct): 70 + ./in.cue:14:5 60 71 ./in.cue:15:8 61 72 ./in.cue:15:13 62 73 t2.p2.d: conflicting values 2 and {a:(2|1)} (mismatched types int and struct): 74 + ./in.cue:14:5 63 75 ./in.cue:15:8 64 76 ./in.cue:15:11 65 77 ··· 71 83 p1: (_|_){ 72 84 // [eval] t1.p1: 2 errors in empty disjunction: 73 85 // t1.p1: conflicting values 1 and {a:(2|1)} (mismatched types int and struct): 86 + // ./in.cue:1:9 87 + // ./in.cue:2:2 74 88 // ./in.cue:3:5 75 89 // ./in.cue:3:10 76 90 // t1.p1: conflicting values 2 and {a:(2|1)} (mismatched types int and struct): 91 + // ./in.cue:1:9 92 + // ./in.cue:2:2 77 93 // ./in.cue:3:5 78 94 // ./in.cue:3:8 79 95 a: (struct){ ··· 83 99 p2: (_|_){ 84 100 // [eval] t1.p2: 2 errors in empty disjunction: 85 101 // t1.p2: conflicting values 1 and {a:(2|1)} (mismatched types int and struct): 102 + // ./in.cue:5:9 86 103 // ./in.cue:6:5 87 104 // ./in.cue:6:10 105 + // ./in.cue:7:2 88 106 // t1.p2: conflicting values 2 and {a:(2|1)} (mismatched types int and struct): 107 + // ./in.cue:5:9 89 108 // ./in.cue:6:5 90 109 // ./in.cue:6:8 110 + // ./in.cue:7:2 91 111 a: (struct){ 92 112 a: (_){ _ } 93 113 } ··· 100 120 d: (_|_){ 101 121 // [eval] t2.p1.d: 2 errors in empty disjunction: 102 122 // t2.p1.d: conflicting values 1 and {a:(2|1)} (mismatched types int and struct): 123 + // ./in.cue:10:5 103 124 // ./in.cue:11:8 104 125 // ./in.cue:11:13 105 126 // t2.p1.d: conflicting values 2 and {a:(2|1)} (mismatched types int and struct): 127 + // ./in.cue:10:5 106 128 // ./in.cue:11:8 107 129 // ./in.cue:11:11 108 130 a: (struct){ ··· 115 137 d: (_|_){ 116 138 // [eval] t2.p2.d: 2 errors in empty disjunction: 117 139 // t2.p2.d: conflicting values 1 and {a:(2|1)} (mismatched types int and struct): 140 + // ./in.cue:14:5 118 141 // ./in.cue:15:8 119 142 // ./in.cue:15:13 120 143 // t2.p2.d: conflicting values 2 and {a:(2|1)} (mismatched types int and struct): 144 + // ./in.cue:14:5 121 145 // ./in.cue:15:8 122 146 // ./in.cue:15:11 123 147 a: (struct){ ··· 1123 1147 diff old new 1124 1148 --- old 1125 1149 +++ new 1126 - @@ -1,11 +1,9 @@ 1150 + @@ -1,19 +1,23 @@ 1127 1151 Errors: 1128 1152 t1.p1: 2 errors in empty disjunction: 1129 1153 t1.p1: conflicting values 1 and {a:(2|1)} (mismatched types int and struct): 1130 - - ./in.cue:2:2 1154 + + ./in.cue:1:9 1155 + ./in.cue:2:2 1131 1156 ./in.cue:3:5 1132 1157 ./in.cue:3:10 1133 1158 t1.p1: conflicting values 2 and {a:(2|1)} (mismatched types int and struct): 1134 - - ./in.cue:2:2 1159 + + ./in.cue:1:9 1160 + ./in.cue:2:2 1135 1161 ./in.cue:3:5 1136 1162 ./in.cue:3:8 1137 1163 t1.p2: 2 errors in empty disjunction: 1138 - @@ -12,27 +10,21 @@ 1139 1164 t1.p2: conflicting values 1 and {a:(2|1)} (mismatched types int and struct): 1165 + + ./in.cue:5:9 1140 1166 ./in.cue:6:5 1141 1167 ./in.cue:6:10 1142 - - ./in.cue:7:2 1168 + ./in.cue:7:2 1143 1169 t1.p2: conflicting values 2 and {a:(2|1)} (mismatched types int and struct): 1170 + + ./in.cue:5:9 1144 1171 ./in.cue:6:5 1145 1172 ./in.cue:6:8 1146 - - ./in.cue:7:2 1147 - t2.p1.d: 2 errors in empty disjunction: 1148 - t2.p1.d: conflicting values 1 and {a:(2|1)} (mismatched types int and struct): 1149 - - ./in.cue:10:5 1150 - ./in.cue:11:8 1151 - ./in.cue:11:13 1152 - t2.p1.d: conflicting values 2 and {a:(2|1)} (mismatched types int and struct): 1153 - - ./in.cue:10:5 1154 - ./in.cue:11:8 1155 - ./in.cue:11:11 1156 - t2.p2.d: 2 errors in empty disjunction: 1157 - t2.p2.d: conflicting values 1 and {a:(2|1)} (mismatched types int and struct): 1158 - - ./in.cue:14:5 1159 - ./in.cue:15:8 1160 - ./in.cue:15:13 1161 - t2.p2.d: conflicting values 2 and {a:(2|1)} (mismatched types int and struct): 1162 - - ./in.cue:14:5 1163 - ./in.cue:15:8 1164 - ./in.cue:15:11 1165 - 1166 - @@ -44,15 +36,13 @@ 1173 + ./in.cue:7:2 1174 + @@ -44,29 +48,33 @@ 1167 1175 p1: (_|_){ 1168 1176 // [eval] t1.p1: 2 errors in empty disjunction: 1169 1177 // t1.p1: conflicting values 1 and {a:(2|1)} (mismatched types int and struct): 1170 - - // ./in.cue:2:2 1178 + + // ./in.cue:1:9 1179 + // ./in.cue:2:2 1171 1180 // ./in.cue:3:5 1172 1181 // ./in.cue:3:10 1173 1182 // t1.p1: conflicting values 2 and {a:(2|1)} (mismatched types int and struct): 1174 - - // ./in.cue:2:2 1183 + + // ./in.cue:1:9 1184 + // ./in.cue:2:2 1175 1185 // ./in.cue:3:5 1176 1186 // ./in.cue:3:8 1177 1187 a: (struct){ ··· 1180 1190 } 1181 1191 } 1182 1192 p2: (_|_){ 1183 - @@ -60,13 +50,11 @@ 1193 + // [eval] t1.p2: 2 errors in empty disjunction: 1184 1194 // t1.p2: conflicting values 1 and {a:(2|1)} (mismatched types int and struct): 1195 + + // ./in.cue:5:9 1185 1196 // ./in.cue:6:5 1186 1197 // ./in.cue:6:10 1187 - - // ./in.cue:7:2 1198 + // ./in.cue:7:2 1188 1199 // t1.p2: conflicting values 2 and {a:(2|1)} (mismatched types int and struct): 1200 + + // ./in.cue:5:9 1189 1201 // ./in.cue:6:5 1190 1202 // ./in.cue:6:8 1191 - - // ./in.cue:7:2 1192 - - a: (struct){ 1203 + // ./in.cue:7:2 1204 + a: (struct){ 1193 1205 - a: (int){ |((int){ 2 }, (int){ 1 }) } 1194 - + a: (struct){ 1195 1206 + a: (_){ _ } 1196 1207 } 1197 1208 } 1198 1209 } 1199 - @@ -77,15 +65,13 @@ 1200 - d: (_|_){ 1201 - // [eval] t2.p1.d: 2 errors in empty disjunction: 1202 - // t2.p1.d: conflicting values 1 and {a:(2|1)} (mismatched types int and struct): 1203 - - // ./in.cue:10:5 1204 - // ./in.cue:11:8 1205 - // ./in.cue:11:13 1206 - // t2.p1.d: conflicting values 2 and {a:(2|1)} (mismatched types int and struct): 1207 - - // ./in.cue:10:5 1210 + @@ -85,7 +93,7 @@ 1208 1211 // ./in.cue:11:8 1209 1212 // ./in.cue:11:11 1210 1213 a: (struct){ ··· 1213 1216 } 1214 1217 } 1215 1218 } 1216 - @@ -94,15 +80,13 @@ 1217 - d: (_|_){ 1218 - // [eval] t2.p2.d: 2 errors in empty disjunction: 1219 - // t2.p2.d: conflicting values 1 and {a:(2|1)} (mismatched types int and struct): 1220 - - // ./in.cue:14:5 1221 - // ./in.cue:15:8 1222 - // ./in.cue:15:13 1223 - // t2.p2.d: conflicting values 2 and {a:(2|1)} (mismatched types int and struct): 1224 - - // ./in.cue:14:5 1219 + @@ -102,7 +110,7 @@ 1225 1220 // ./in.cue:15:8 1226 1221 // ./in.cue:15:11 1227 1222 a: (struct){ ··· 1230 1225 } 1231 1226 } 1232 1227 } 1233 - @@ -119,7 +103,7 @@ 1228 + @@ -119,7 +127,7 @@ 1234 1229 } 1235 1230 issue3437: (struct){ 1236 1231 r: (_|_){ ··· 1239 1234 // ./issue3437.cue:2:9 1240 1235 } 1241 1236 d: (struct){ 1242 - @@ -131,33 +115,853 @@ 1237 + @@ -131,33 +139,853 @@ 1243 1238 } 1244 1239 } 1245 1240 }
+15 -15
cue/testdata/eval/sharing.txtar
··· 286 286 shareCycle.t2.Y.x: conflicting values int and {x:(#X & Y)} (mismatched types int and struct): 287 287 ./sharecycle.cue:8:6 288 288 ./sharecycle.cue:9:5 289 + ./sharecycle.cue:10:11 289 290 shareCycle.t3.Y.x.x: structural cycle 290 291 291 292 Result: ··· 650 651 // [eval] shareCycle.t2.Y.x: conflicting values int and {x:(#X & Y)} (mismatched types int and struct): 651 652 // ./sharecycle.cue:8:6 652 653 // ./sharecycle.cue:9:5 654 + // ./sharecycle.cue:10:11 653 655 x: (_|_){// (〈1;#X〉 & 〈1;Y〉) 654 656 } 655 657 } ··· 675 677 diff old new 676 678 --- old 677 679 +++ new 678 - @@ -3,8 +3,6 @@ 679 - shareCycle.t2.Y.x: conflicting values int and {x:(#X & Y)} (mismatched types int and struct): 680 + @@ -4,7 +4,6 @@ 680 681 ./sharecycle.cue:8:6 681 682 ./sharecycle.cue:9:5 682 - - ./sharecycle.cue:10:11 683 + ./sharecycle.cue:10:11 683 684 -shareCycle.t2.Y.x.x: structural cycle 684 685 shareCycle.t3.Y.x.x: structural cycle 685 686 686 687 Result: 687 - @@ -27,102 +25,75 @@ 688 + @@ -27,102 +26,75 @@ 688 689 } 689 690 } 690 691 #Config1: (#struct){ ··· 856 857 } 857 858 Config: (#struct){ 858 859 cfg: (#struct){ 859 - @@ -148,24 +119,13 @@ 860 + @@ -148,24 +120,13 @@ 860 861 } 861 862 } 862 863 #Config1: (#struct){ ··· 884 885 } 885 886 #Config: (#struct){ 886 887 cfg: (#struct){ 887 - @@ -173,12 +133,7 @@ 888 + @@ -173,12 +134,7 @@ 888 889 } 889 890 } 890 891 } ··· 898 899 out: (#struct){ 899 900 sch: (#struct){ 900 901 cfg: (#struct){ 901 - @@ -247,9 +202,7 @@ 902 + @@ -247,9 +203,7 @@ 902 903 } 903 904 debug: (struct){ 904 905 sharingOn: (struct){ ··· 909 910 b: (struct){ 910 911 c: (int){ 1 } 911 912 } 912 - @@ -293,14 +246,12 @@ 913 + @@ -293,14 +247,12 @@ 913 914 name: (string){ "foo" } 914 915 }, (null){ null }) } 915 916 let _inputList#2 = (#list){ ··· 930 931 } 931 932 _template: (struct){ 932 933 input: (struct){ 933 - @@ -324,14 +275,14 @@ 934 + @@ -324,14 +276,14 @@ 934 935 name: (string){ "foo" } 935 936 }, (null){ null }) } 936 937 let _inputList#3 = (#list){ ··· 953 954 } 954 955 _template: (struct){ 955 956 input: (struct){ 956 - @@ -345,9 +296,13 @@ 957 + @@ -345,9 +297,13 @@ 957 958 } 958 959 foo: (struct){ 959 960 input: (struct){ ··· 970 971 } 971 972 } 972 973 } 973 - @@ -356,17 +311,13 @@ 974 + @@ -356,17 +312,13 @@ 974 975 a: (struct){ 975 976 b: (struct){ 976 977 c: (struct){ ··· 994 995 } 995 996 Y: (struct){ 996 997 c: (struct){ 997 - @@ -384,10 +335,7 @@ 998 + @@ -384,10 +336,7 @@ 998 999 } 999 1000 } 1000 1001 #Deployment: (#struct){ ··· 1006 1007 } 1007 1008 #ObjectMeta: (#struct){ 1008 1009 name?: (#struct){ 1009 - @@ -419,9 +367,7 @@ 1010 - // [eval] shareCycle.t2.Y.x: conflicting values int and {x:(#X & Y)} (mismatched types int and struct): 1010 + @@ -420,8 +369,7 @@ 1011 1011 // ./sharecycle.cue:8:6 1012 1012 // ./sharecycle.cue:9:5 1013 - - // ./sharecycle.cue:10:11 1013 + // ./sharecycle.cue:10:11 1014 1014 - x: (_|_){ 1015 1015 - // [structural cycle] shareCycle.t2.Y.x.x: structural cycle 1016 1016 + x: (_|_){// (〈1;#X〉 & 〈1;Y〉)
-39
cue/testdata/export/008.txtar
··· 22 22 Unifications: 3 23 23 Conjuncts: 5 24 24 Disjuncts: 3 25 - -- out/evalalpha -- 26 - Errors: 27 - a.0: conflicting values 4 and 3: 28 - ./in.cue:1:7 29 - ./in.cue:1:11 30 - 31 - Result: 32 - (_|_){ 33 - // [eval] 34 - a: (_|_){ 35 - // [eval] 36 - 0: (_|_){ 37 - // [eval] a.0: conflicting values 4 and 3: 38 - // ./in.cue:1:7 39 - // ./in.cue:1:11 40 - } 41 - } 42 - } 43 - -- diff/-out/evalalpha<==>+out/eval -- 44 - diff old new 45 - --- old 46 - +++ new 47 - @@ -1,6 +1,5 @@ 48 - Errors: 49 - a.0: conflicting values 4 and 3: 50 - - ./in.cue:1:1 51 - ./in.cue:1:7 52 - ./in.cue:1:11 53 - 54 - @@ -11,7 +10,6 @@ 55 - // [eval] 56 - 0: (_|_){ 57 - // [eval] a.0: conflicting values 4 and 3: 58 - - // ./in.cue:1:1 59 - // ./in.cue:1:7 60 - // ./in.cue:1:11 61 - } 62 - -- diff/todo/p2 -- 63 - Missing error positions. 64 25 -- out/eval -- 65 26 Errors: 66 27 a.0: conflicting values 4 and 3:
-34
cue/testdata/fulleval/001_conflicts_in_optional_fields_are_okay_.txtar
··· 42 42 Unifications: 10 43 43 Conjuncts: 17 44 44 Disjuncts: 14 45 - -- out/evalalpha -- 46 - (struct){ 47 - d: (struct){ |((struct){ 48 - a: (int){ 1 } 49 - b?: (int){ 3 } 50 - }, (struct){ 51 - a: (int){ 2 } 52 - }) } 53 - c: (struct){ |((struct){ 54 - b?: (_|_){ 55 - // [eval] c.b: conflicting values 3 and 4: 56 - // ./in.cue:1:15 57 - // ./in.cue:4:13 58 - } 59 - a: (int){ 1 } 60 - }, (struct){ 61 - b?: (int){ 4 } 62 - a: (int){ 2 } 63 - }) } 64 - } 65 - -- diff/-out/evalalpha<==>+out/eval -- 66 - diff old new 67 - --- old 68 - +++ new 69 - @@ -9,7 +9,6 @@ 70 - b?: (_|_){ 71 - // [eval] c.b: conflicting values 3 and 4: 72 - // ./in.cue:1:15 73 - - // ./in.cue:4:4 74 - // ./in.cue:4:13 75 - } 76 - a: (int){ 1 } 77 - -- diff/todo/p3 -- 78 - Missing error position. 79 45 -- out/eval -- 80 46 (struct){ 81 47 d: (struct){ |((struct){
+7 -22
cue/testdata/fulleval/024_Issue_#23.txtar
··· 39 39 y: 2 errors in empty disjunction: 40 40 y.a: conflicting values 1 and 3: 41 41 ./in.cue:1:12 42 + ./in.cue:2:4 42 43 ./in.cue:2:12 43 44 y.a: conflicting values 2 and 3: 44 45 ./in.cue:1:21 46 + ./in.cue:2:4 45 47 ./in.cue:2:12 46 48 47 49 Result: ··· 56 58 // [eval] y: 2 errors in empty disjunction: 57 59 // y.a: conflicting values 1 and 3: 58 60 // ./in.cue:1:12 61 + // ./in.cue:2:4 59 62 // ./in.cue:2:12 60 63 // y.a: conflicting values 2 and 3: 61 64 // ./in.cue:1:21 65 + // ./in.cue:2:4 62 66 // ./in.cue:2:12 63 67 a: (int){ 3 } 64 68 } ··· 67 71 diff old new 68 72 --- old 69 73 +++ new 70 - @@ -2,11 +2,9 @@ 71 - y: 2 errors in empty disjunction: 72 - y.a: conflicting values 1 and 3: 73 - ./in.cue:1:12 74 - - ./in.cue:2:4 75 - ./in.cue:2:12 76 - y.a: conflicting values 2 and 3: 77 - ./in.cue:1:21 78 - - ./in.cue:2:4 79 - ./in.cue:2:12 80 - 81 - Result: 82 - @@ -21,17 +19,10 @@ 83 - // [eval] y: 2 errors in empty disjunction: 84 - // y.a: conflicting values 1 and 3: 85 - // ./in.cue:1:12 86 - - // ./in.cue:2:4 74 + @@ -27,11 +27,6 @@ 75 + // ./in.cue:1:21 76 + // ./in.cue:2:4 87 77 // ./in.cue:2:12 88 - // y.a: conflicting values 2 and 3: 89 - // ./in.cue:1:21 90 - - // ./in.cue:2:4 91 - - // ./in.cue:2:12 92 78 - a: (_|_){ 93 79 - // [eval] y.a: conflicting values 2 and 3: 94 80 - // ./in.cue:1:21 95 81 - // ./in.cue:2:4 96 82 - // ./in.cue:2:12 97 83 - } 98 - + // ./in.cue:2:12 99 84 + a: (int){ 3 } 100 85 } 101 86 }
-195
cue/testdata/resolve/048_builtins.txtar
··· 109 109 Unifications: 73 110 110 Conjuncts: 152 111 111 Disjuncts: 97 112 - -- out/evalalpha -- 113 - Errors: 114 - o3.a: 2 errors in empty disjunction: 115 - o3.a: conflicting values "bar" and "foo": 116 - ./in.cue:17:5 117 - ./in.cue:20:14 118 - o3.a: conflicting values "baz" and "foo": 119 - ./in.cue:20:14 120 - ./in.cue:20:24 121 - a3.a: invalid value "bar" (out of bound =~"oo"): 122 - ./in.cue:8:5 123 - ./in.cue:7:5 124 - ./in.cue:12:14 125 - a3.a: invalid value "bar" (out of bound =~"fo"): 126 - ./in.cue:9:5 127 - ./in.cue:7:5 128 - ./in.cue:12:14 129 - stringListErrors.b.result: invalid list element 0 in argument 0 to call: cannot use value int (int) as string: 130 - ./in.cue:31:11 131 - ./in.cue:30:7 132 - stringListErrors.c.result: cannot use int (type int) as string in argument 2 to strings.Join: 133 - ./in.cue:36:27 134 - decimalListErrors.a.result: invalid list element 0 in argument 0 to call: cannot use value string (string) as number: 135 - ./in.cue:43:11 136 - ./in.cue:42:7 137 - 138 - Result: 139 - (_|_){ 140 - // [eval] 141 - a1: (struct){ 142 - a: (string){ &(=~"oo", =~"fo") } 143 - b: (string){ =~"oo" } 144 - c: (string){ =~"fo" } 145 - } 146 - a2: (struct){ 147 - a: (string){ "foo" } 148 - b: (string){ =~"oo" } 149 - c: (string){ =~"fo" } 150 - } 151 - a3: (_|_){ 152 - // [eval] 153 - a: (_|_){ 154 - // [eval] a3.a: invalid value "bar" (out of bound =~"oo"): 155 - // ./in.cue:8:5 156 - // ./in.cue:7:5 157 - // ./in.cue:12:14 158 - // a3.a: invalid value "bar" (out of bound =~"fo"): 159 - // ./in.cue:9:5 160 - // ./in.cue:7:5 161 - // ./in.cue:12:14 162 - } 163 - b: (string){ =~"oo" } 164 - c: (string){ =~"fo" } 165 - } 166 - o1: (struct){ 167 - a: (string){ |((string){ string }, (string){ "bar" }) } 168 - b: (string){ string } 169 - c: (string){ "bar" } 170 - } 171 - o2: (struct){ 172 - a: (string){ "foo" } 173 - b: (string){ string } 174 - c: (string){ "bar" } 175 - } 176 - o3: (_|_){ 177 - // [eval] 178 - a: (_|_){ 179 - // [eval] o3.a: 2 errors in empty disjunction: 180 - // o3.a: conflicting values "bar" and "foo": 181 - // ./in.cue:17:5 182 - // ./in.cue:20:14 183 - // o3.a: conflicting values "baz" and "foo": 184 - // ./in.cue:20:14 185 - // ./in.cue:20:24 186 - } 187 - b: (string){ "baz" } 188 - c: (string){ "bar" } 189 - } 190 - stringListErrors: (_|_){ 191 - // [eval] 192 - a: (struct){ 193 - x: (list){ 194 - 0: (string){ string } 195 - } 196 - result: (_|_){ 197 - // [incomplete] stringListErrors.a.result: non-concrete value string for element 0 of string list argument 0: 198 - // ./in.cue:26:11 199 - // ./in.cue:25:7 200 - } 201 - } 202 - b: (_|_){ 203 - // [eval] 204 - x: (list){ 205 - 0: (int){ int } 206 - } 207 - result: (_|_){ 208 - // [eval] stringListErrors.b.result: invalid list element 0 in argument 0 to call: cannot use value int (int) as string: 209 - // ./in.cue:31:11 210 - // ./in.cue:30:7 211 - } 212 - } 213 - c: (_|_){ 214 - // [eval] 215 - x: (#list){ 216 - } 217 - result: (_|_){ 218 - // [eval] stringListErrors.c.result: cannot use int (type int) as string in argument 2 to strings.Join: 219 - // ./in.cue:36:27 220 - } 221 - } 222 - } 223 - decimalListErrors: (_|_){ 224 - // [eval] 225 - a: (_|_){ 226 - // [eval] 227 - x: (#list){ 228 - 0: (string){ string } 229 - } 230 - result: (_|_){ 231 - // [eval] decimalListErrors.a.result: invalid list element 0 in argument 0 to call: cannot use value string (string) as number: 232 - // ./in.cue:43:11 233 - // ./in.cue:42:7 234 - } 235 - } 236 - b: (struct){ 237 - x: (list){ 238 - 0: (int){ int } 239 - } 240 - result: (_|_){ 241 - // [incomplete] decimalListErrors.b.result: non-concrete value int for element 0 of number list argument 0: 242 - // ./in.cue:48:11 243 - // ./in.cue:47:7 244 - } 245 - } 246 - } 247 - issue3648: (struct){ 248 - reduced: (struct){ 249 - foo: (struct){ 250 - a: (#list){ 251 - 0: (struct){ 252 - } 253 - } 254 - b: (#list){ 255 - 0: (struct){ 256 - } 257 - } 258 - } 259 - } 260 - full: (struct){ 261 - #Redirect: (#struct){ 262 - path?: (string){ string } 263 - } 264 - foo: (struct){ 265 - allRedirects: (#list){ 266 - } 267 - redirects: (list){ 268 - } 269 - } 270 - } 271 - } 272 - } 273 - -- diff/-out/evalalpha<==>+out/eval -- 274 - diff old new 275 - --- old 276 - +++ new 277 - @@ -1,13 +1,9 @@ 278 - Errors: 279 - o3.a: 2 errors in empty disjunction: 280 - o3.a: conflicting values "bar" and "foo": 281 - - ./in.cue:15:12 282 - ./in.cue:17:5 283 - - ./in.cue:20:5 284 - ./in.cue:20:14 285 - o3.a: conflicting values "baz" and "foo": 286 - - ./in.cue:15:9 287 - - ./in.cue:20:5 288 - ./in.cue:20:14 289 - ./in.cue:20:24 290 - a3.a: invalid value "bar" (out of bound =~"oo"): 291 - @@ -70,13 +66,9 @@ 292 - a: (_|_){ 293 - // [eval] o3.a: 2 errors in empty disjunction: 294 - // o3.a: conflicting values "bar" and "foo": 295 - - // ./in.cue:15:12 296 - // ./in.cue:17:5 297 - - // ./in.cue:20:5 298 - // ./in.cue:20:14 299 - // o3.a: conflicting values "baz" and "foo": 300 - - // ./in.cue:15:9 301 - - // ./in.cue:20:5 302 - // ./in.cue:20:14 303 - // ./in.cue:20:24 304 - } 305 - -- diff/todo/p2 -- 306 - Missing error positions. 307 112 -- out/eval -- 308 113 Errors: 309 114 o3.a: 2 errors in empty disjunction:
+10 -6
cue/testdata/scalars/yield.txtar
··· 35 35 -- out/evalalpha -- 36 36 Errors: 37 37 ifScalarConflict: conflicting values "soo" and 5 (mismatched types string and int): 38 + ./in.cue:7:19 39 + ./in.cue:10:2 38 40 ./in.cue:10:13 39 41 ./in.cue:12:2 40 42 ··· 47 49 } 48 50 ifScalarConflict: (_|_){ 49 51 // [eval] ifScalarConflict: conflicting values "soo" and 5 (mismatched types string and int): 52 + // ./in.cue:7:19 53 + // ./in.cue:10:2 50 54 // ./in.cue:10:13 51 55 // ./in.cue:12:2 52 56 _#cond: (bool){ true } ··· 60 64 diff old new 61 65 --- old 62 66 +++ new 63 - @@ -1,6 +1,5 @@ 67 + @@ -1,5 +1,6 @@ 64 68 Errors: 65 69 ifScalarConflict: conflicting values "soo" and 5 (mismatched types string and int): 66 - - ./in.cue:10:2 70 + + ./in.cue:7:19 71 + ./in.cue:10:2 67 72 ./in.cue:10:13 68 73 ./in.cue:12:2 69 - 70 - @@ -13,7 +12,6 @@ 74 + @@ -13,6 +14,7 @@ 71 75 } 72 76 ifScalarConflict: (_|_){ 73 77 // [eval] ifScalarConflict: conflicting values "soo" and 5 (mismatched types string and int): 74 - - // ./in.cue:10:2 78 + + // ./in.cue:7:19 79 + // ./in.cue:10:2 75 80 // ./in.cue:10:13 76 81 // ./in.cue:12:2 77 - _#cond: (bool){ true } 78 82 -- diff/todo/p2 -- 79 83 Missing error positions 80 84 -- out/eval --
+21 -14
encoding/gocode/gen_test.go
··· 25 25 "cuelang.org/go/cue/errors" 26 26 "cuelang.org/go/encoding/gocode/testdata/pkg1" 27 27 "cuelang.org/go/encoding/gocode/testdata/pkg2" 28 + "cuelang.org/go/internal/cuetdtest" 29 + "cuelang.org/go/internal/cuetest" 28 30 ) 29 31 30 32 type validator interface { ··· 32 34 } 33 35 34 36 func TestPackages(t *testing.T) { 35 - 36 - testCases := []struct { 37 + type testCase struct { 37 38 name string 38 39 value validator 39 - want string 40 - }{{ 40 + want string `test:"update"` 41 + } 42 + 43 + testCases := []testCase{{ 41 44 name: "failing int", 42 45 value: pkg2.PickMe(4), 43 46 want: "invalid value 4 (out of bound >5):\n pkg2/instance.cue:x:x", ··· 72 75 O: 2 errors in empty disjunction: 73 76 O: conflicting values null and {A:strings.ContainsAny("X"),P:"cuelang.org/go/encoding/gocode/testdata/pkg2".PickMe} (mismatched types null and struct): 74 77 pkg1/instance.cue:x:x 78 + pkg1/instance.cue:x:x 75 79 O.A: invalid value "car" (does not satisfy strings.ContainsAny("X")): 76 80 pkg1/instance.cue:x:x 77 81 _:1:4 ··· 87 91 O: 2 errors in empty disjunction: 88 92 O: conflicting values null and {A:strings.ContainsAny("X"),P:"cuelang.org/go/encoding/gocode/testdata/pkg2".PickMe} (mismatched types null and struct): 89 93 pkg1/instance.cue:x:x 94 + pkg1/instance.cue:x:x 90 95 O.P: invalid value 4 (out of bound >5): 91 96 pkg2/instance.cue:x:x 92 97 `, ··· 97 102 B: "dog", 98 103 I: &pkg2.ImportMe{A: 1000, B: "a"}, 99 104 }, 100 - want: "nil", 105 + want: `nil`, 101 106 }} 102 - for _, tc := range testCases { 103 - t.Run(tc.name, func(t *testing.T) { 104 - got := strings.TrimSpace(errStr(tc.value.Validate())) 105 - want := strings.TrimSpace(tc.want) 106 - if got != want { 107 - t.Errorf("got:\n%q\nwant:\n%q", got, want) 108 - } 109 - }) 110 - } 107 + 108 + cuetdtest.Run(t, testCases, func(t *cuetdtest.T, tc *testCase) { 109 + t.Update(cuetest.UpdateGoldenFiles) 110 + 111 + got := errStr(tc.value.Validate()) 112 + // The expected values in the test table have extra whitespace, but we trim both 113 + // sides for comparison. We need to store the trimmed version back for auto-update. 114 + got = strings.TrimSpace(got) 115 + tc.want = strings.TrimSpace(tc.want) 116 + t.Equal(got, tc.want) 117 + }) 111 118 } 112 119 113 120 func errStr(err error) string {
+3 -3
encoding/jsonschema/testdata/external/tests/draft2019-09/additionalItems.json
··· 104 104 "valid": true, 105 105 "skip": { 106 106 "v2": "5 errors in empty disjunction:\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:45\n instance.json:1:1\nconflicting values bool and [] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\n", 107 - "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:45\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:3:33\n" 107 + "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:45\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:3:33\n" 108 108 } 109 109 }, 110 110 { ··· 115 115 "valid": true, 116 116 "skip": { 117 117 "v2": "5 errors in empty disjunction:\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:45\n instance.json:1:1\nconflicting values bool and [1] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [1] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [1] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [1] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\n", 118 - "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:45\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:3:33\n" 118 + "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:45\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:3:33\n" 119 119 } 120 120 }, 121 121 { ··· 127 127 "valid": true, 128 128 "skip": { 129 129 "v2": "5 errors in empty disjunction:\nconflicting values [1,2] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:45\n instance.json:1:1\nconflicting values bool and [1,2] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [1,2] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [1,2] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [1,2] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\n", 130 - "v3": "6 errors in empty disjunction:\nconflicting values [1,2] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1,2] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1,2] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1,2] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1,2] and {...} (mismatched types list and struct):\n generated.cue:3:45\n instance.json:1:1\nincompatible list lengths (2 and 3):\n generated.cue:3:33\n" 130 + "v3": "6 errors in empty disjunction:\nconflicting values [1,2] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1,2] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1,2] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1,2] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1,2] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:45\n instance.json:1:1\nincompatible list lengths (2 and 3):\n generated.cue:3:33\n" 131 131 } 132 132 }, 133 133 {
+1 -1
encoding/jsonschema/testdata/external/tests/draft2019-09/contains.json
··· 210 210 "valid": true, 211 211 "skip": { 212 212 "v2": "6 errors in empty disjunction:\nconflicting values [\"foo\"] and {...} (mismatched types list and struct):\n generated.cue:5:1\n generated.cue:5:72\n instance.json:1:1\nconflicting values bool and [\"foo\"] (mismatched types bool and list):\n generated.cue:5:8\n instance.json:1:1\nconflicting values null and [\"foo\"] (mismatched types null and list):\n generated.cue:5:1\n instance.json:1:1\nconflicting values number and [\"foo\"] (mismatched types number and list):\n generated.cue:5:15\n instance.json:1:1\nconflicting values string and [\"foo\"] (mismatched types string and list):\n generated.cue:5:24\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:5:58\n", 213 - "v3": "6 errors in empty disjunction:\nconflicting values [\"foo\"] and bool (mismatched types list and bool):\n generated.cue:5:8\n instance.json:1:1\nconflicting values [\"foo\"] and null (mismatched types list and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values [\"foo\"] and number (mismatched types list and number):\n generated.cue:5:15\n instance.json:1:1\nconflicting values [\"foo\"] and string (mismatched types list and string):\n generated.cue:5:24\n instance.json:1:1\nconflicting values [\"foo\"] and {...} (mismatched types list and struct):\n generated.cue:5:72\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:5:58\n" 213 + "v3": "6 errors in empty disjunction:\nconflicting values [\"foo\"] and bool (mismatched types list and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values [\"foo\"] and null (mismatched types list and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values [\"foo\"] and number (mismatched types list and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values [\"foo\"] and string (mismatched types list and string):\n generated.cue:5:1\n generated.cue:5:24\n instance.json:1:1\nconflicting values [\"foo\"] and {...} (mismatched types list and struct):\n generated.cue:5:1\n generated.cue:5:72\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:5:58\n" 214 214 } 215 215 }, 216 216 {
+2 -2
encoding/jsonschema/testdata/external/tests/draft2019-09/enum.json
··· 375 375 "valid": true, 376 376 "skip": { 377 377 "v2": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:3:1\n generated.cue:3:2\n instance.json:1:2\n", 378 - "v3": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:3:2\n instance.json:1:2\n" 378 + "v3": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:3:1\n generated.cue:3:2\n instance.json:1:2\n" 379 379 } 380 380 } 381 381 ] ··· 443 443 "valid": true, 444 444 "skip": { 445 445 "v2": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:3:1\n generated.cue:3:2\n instance.json:1:2\n", 446 - "v3": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:3:2\n instance.json:1:2\n" 446 + "v3": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:3:1\n generated.cue:3:2\n instance.json:1:2\n" 447 447 } 448 448 } 449 449 ]
+4 -4
encoding/jsonschema/testdata/external/tests/draft2019-09/items.json
··· 80 80 "valid": true, 81 81 "skip": { 82 82 "v2": "5 errors in empty disjunction:\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:54\n instance.json:1:1\nconflicting values bool and [1] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [1] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [1] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [1] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\n", 83 - "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:54\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:3:33\n" 83 + "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:54\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:3:33\n" 84 84 } 85 85 }, 86 86 { ··· 98 98 "valid": true, 99 99 "skip": { 100 100 "v2": "5 errors in empty disjunction:\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:54\n instance.json:1:1\nconflicting values bool and [] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\n", 101 - "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:54\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:3:33\n" 101 + "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:54\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:3:33\n" 102 102 } 103 103 }, 104 104 { ··· 176 176 "valid": true, 177 177 "skip": { 178 178 "v2": "5 errors in empty disjunction:\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:49\n instance.json:1:1\nconflicting values bool and [1] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [1] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [1] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [1] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\n", 179 - "v3": "7 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:49\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:3:33\nexplicit error (_|_ literal) in source:\n generated.cue:3:37\n" 179 + "v3": "7 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:49\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:3:33\nexplicit error (_|_ literal) in source:\n generated.cue:3:37\n" 180 180 } 181 181 }, 182 182 { ··· 193 193 "valid": true, 194 194 "skip": { 195 195 "v2": "5 errors in empty disjunction:\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:49\n instance.json:1:1\nconflicting values bool and [] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\n", 196 - "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:49\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:3:33\n" 196 + "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:49\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:3:33\n" 197 197 } 198 198 } 199 199 ]
+3 -3
encoding/jsonschema/testdata/external/tests/draft2019-09/optional/format/date-time.json
··· 62 62 "valid": true, 63 63 "skip": { 64 64 "v2": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T23:59:60Z\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1998-12-31T23:59:60Z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T23:59:60Z\":\n generated.cue:1:1\n instance.json:1:1\n", 65 - "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T23:59:60Z\" and [...] (mismatched types string and list):\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and bool (mismatched types string and bool):\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and number (mismatched types string and number):\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and {...} (mismatched types string and struct):\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1998-12-31T23:59:60Z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T23:59:60Z\":\n generated.cue:1:1\n instance.json:1:1\n" 65 + "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T23:59:60Z\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1998-12-31T23:59:60Z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T23:59:60Z\":\n generated.cue:1:1\n instance.json:1:1\n" 66 66 } 67 67 }, 68 68 { ··· 71 71 "valid": true, 72 72 "skip": { 73 73 "v2": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1998-12-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n", 74 - "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1998-12-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n" 74 + "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1998-12-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n" 75 75 } 76 76 }, 77 77 { ··· 119 119 "valid": true, 120 120 "skip": { 121 121 "v2": "6 errors in empty disjunction:\nconflicting values \"1963-06-19t08:30:06.283185z\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1963-06-19t08:30:06.283185z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1963-06-19t08:30:06.283185z\":\n generated.cue:1:1\n instance.json:1:1\n", 122 - "v3": "6 errors in empty disjunction:\nconflicting values \"1963-06-19t08:30:06.283185z\" and [...] (mismatched types string and list):\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and bool (mismatched types string and bool):\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and number (mismatched types string and number):\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and {...} (mismatched types string and struct):\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1963-06-19t08:30:06.283185z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1963-06-19t08:30:06.283185z\":\n generated.cue:1:1\n instance.json:1:1\n" 122 + "v3": "6 errors in empty disjunction:\nconflicting values \"1963-06-19t08:30:06.283185z\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1963-06-19t08:30:06.283185z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1963-06-19t08:30:06.283185z\":\n generated.cue:1:1\n instance.json:1:1\n" 123 123 } 124 124 }, 125 125 {
+1 -1
encoding/jsonschema/testdata/external/tests/draft2020-12/contains.json
··· 210 210 "valid": true, 211 211 "skip": { 212 212 "v2": "6 errors in empty disjunction:\nconflicting values [\"foo\"] and {...} (mismatched types list and struct):\n generated.cue:5:1\n generated.cue:5:72\n instance.json:1:1\nconflicting values bool and [\"foo\"] (mismatched types bool and list):\n generated.cue:5:8\n instance.json:1:1\nconflicting values null and [\"foo\"] (mismatched types null and list):\n generated.cue:5:1\n instance.json:1:1\nconflicting values number and [\"foo\"] (mismatched types number and list):\n generated.cue:5:15\n instance.json:1:1\nconflicting values string and [\"foo\"] (mismatched types string and list):\n generated.cue:5:24\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:5:58\n", 213 - "v3": "6 errors in empty disjunction:\nconflicting values [\"foo\"] and bool (mismatched types list and bool):\n generated.cue:5:8\n instance.json:1:1\nconflicting values [\"foo\"] and null (mismatched types list and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values [\"foo\"] and number (mismatched types list and number):\n generated.cue:5:15\n instance.json:1:1\nconflicting values [\"foo\"] and string (mismatched types list and string):\n generated.cue:5:24\n instance.json:1:1\nconflicting values [\"foo\"] and {...} (mismatched types list and struct):\n generated.cue:5:72\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:5:58\n" 213 + "v3": "6 errors in empty disjunction:\nconflicting values [\"foo\"] and bool (mismatched types list and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values [\"foo\"] and null (mismatched types list and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values [\"foo\"] and number (mismatched types list and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values [\"foo\"] and string (mismatched types list and string):\n generated.cue:5:1\n generated.cue:5:24\n instance.json:1:1\nconflicting values [\"foo\"] and {...} (mismatched types list and struct):\n generated.cue:5:1\n generated.cue:5:72\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:5:58\n" 214 214 } 215 215 }, 216 216 {
+2 -2
encoding/jsonschema/testdata/external/tests/draft2020-12/enum.json
··· 375 375 "valid": true, 376 376 "skip": { 377 377 "v2": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:3:1\n generated.cue:3:2\n instance.json:1:2\n", 378 - "v3": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:3:2\n instance.json:1:2\n" 378 + "v3": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:3:1\n generated.cue:3:2\n instance.json:1:2\n" 379 379 } 380 380 } 381 381 ] ··· 443 443 "valid": true, 444 444 "skip": { 445 445 "v2": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:3:1\n generated.cue:3:2\n instance.json:1:2\n", 446 - "v3": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:3:2\n instance.json:1:2\n" 446 + "v3": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:3:1\n generated.cue:3:2\n instance.json:1:2\n" 447 447 } 448 448 } 449 449 ]
+4 -4
encoding/jsonschema/testdata/external/tests/draft2020-12/format.json
··· 130 130 "valid": true, 131 131 "skip": { 132 132 "v2": "6 errors in empty disjunction:\nconflicting values \"^(abc]\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:39\n instance.json:1:1\nconflicting values \"^(abc]\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"^(abc]\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"^(abc]\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"^(abc]\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:47\n instance.json:1:1\ninvalid value \"^(abc]\" (does not satisfy regexp.Valid): error in call to regexp.Valid: error parsing regexp: missing closing ): `^(abc]`:\n generated.cue:1:1\n instance.json:1:1\n", 133 - "v3": "6 errors in empty disjunction:\nconflicting values \"^(abc]\" and [...] (mismatched types string and list):\n generated.cue:5:39\n instance.json:1:1\nconflicting values \"^(abc]\" and bool (mismatched types string and bool):\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"^(abc]\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"^(abc]\" and number (mismatched types string and number):\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"^(abc]\" and {...} (mismatched types string and struct):\n generated.cue:5:47\n instance.json:1:1\ninvalid value \"^(abc]\" (does not satisfy regexp.Valid): error in call to regexp.Valid: error parsing regexp: missing closing ): `^(abc]`:\n generated.cue:1:1\n instance.json:1:1\n" 133 + "v3": "6 errors in empty disjunction:\nconflicting values \"^(abc]\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:39\n instance.json:1:1\nconflicting values \"^(abc]\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"^(abc]\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"^(abc]\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"^(abc]\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:47\n instance.json:1:1\ninvalid value \"^(abc]\" (does not satisfy regexp.Valid): error in call to regexp.Valid: error parsing regexp: missing closing ): `^(abc]`:\n generated.cue:1:1\n instance.json:1:1\n" 134 134 } 135 135 } 136 136 ] ··· 354 354 "valid": true, 355 355 "skip": { 356 356 "v2": "6 errors in empty disjunction:\nconflicting values \"06/19/1963\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:52\n instance.json:1:1\nconflicting values \"06/19/1963\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"06/19/1963\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"06/19/1963\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"06/19/1963\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:60\n instance.json:1:1\ninvalid value \"06/19/1963\" (does not satisfy time.Format(\"2006-01-02\")): error in call to time.Format: invalid time \"06/19/1963\":\n generated.cue:5:24\n generated.cue:1:1\n generated.cue:5:36\n instance.json:1:1\n", 357 - "v3": "6 errors in empty disjunction:\nconflicting values \"06/19/1963\" and [...] (mismatched types string and list):\n generated.cue:5:52\n instance.json:1:1\nconflicting values \"06/19/1963\" and bool (mismatched types string and bool):\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"06/19/1963\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"06/19/1963\" and number (mismatched types string and number):\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"06/19/1963\" and {...} (mismatched types string and struct):\n generated.cue:5:60\n instance.json:1:1\ninvalid value \"06/19/1963\" (does not satisfy time.Format(\"2006-01-02\")): error in call to time.Format: invalid time \"06/19/1963\":\n generated.cue:5:24\n generated.cue:1:1\n generated.cue:5:36\n instance.json:1:1\n" 357 + "v3": "6 errors in empty disjunction:\nconflicting values \"06/19/1963\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:52\n instance.json:1:1\nconflicting values \"06/19/1963\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"06/19/1963\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"06/19/1963\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"06/19/1963\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:60\n instance.json:1:1\ninvalid value \"06/19/1963\" (does not satisfy time.Format(\"2006-01-02\")): error in call to time.Format: invalid time \"06/19/1963\":\n generated.cue:5:24\n generated.cue:1:1\n generated.cue:5:36\n instance.json:1:1\n" 358 358 } 359 359 } 360 360 ] ··· 402 402 "valid": true, 403 403 "skip": { 404 404 "v2": "6 errors in empty disjunction:\nconflicting values \"1990-02-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1990-02-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1990-02-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1990-02-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1990-02-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1990-02-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1990-02-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n", 405 - "v3": "6 errors in empty disjunction:\nconflicting values \"1990-02-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1990-02-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1990-02-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1990-02-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1990-02-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1990-02-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1990-02-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n" 405 + "v3": "6 errors in empty disjunction:\nconflicting values \"1990-02-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1990-02-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1990-02-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1990-02-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1990-02-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1990-02-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1990-02-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n" 406 406 } 407 407 } 408 408 ] ··· 670 670 "valid": true, 671 671 "skip": { 672 672 "v2": "6 errors in empty disjunction:\nconflicting values \"//foo.bar/?baz=qux#quux\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:37\n instance.json:1:1\nconflicting values \"//foo.bar/?baz=qux#quux\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"//foo.bar/?baz=qux#quux\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"//foo.bar/?baz=qux#quux\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"//foo.bar/?baz=qux#quux\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:45\n instance.json:1:1\ninvalid value \"//foo.bar/?baz=qux#quux\" (does not satisfy net.AbsURL): error in call to net.AbsURL: URL is not absolute:\n generated.cue:1:1\n instance.json:1:1\n", 673 - "v3": "6 errors in empty disjunction:\nconflicting values \"//foo.bar/?baz=qux#quux\" and [...] (mismatched types string and list):\n generated.cue:5:37\n instance.json:1:1\nconflicting values \"//foo.bar/?baz=qux#quux\" and bool (mismatched types string and bool):\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"//foo.bar/?baz=qux#quux\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"//foo.bar/?baz=qux#quux\" and number (mismatched types string and number):\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"//foo.bar/?baz=qux#quux\" and {...} (mismatched types string and struct):\n generated.cue:5:45\n instance.json:1:1\ninvalid value \"//foo.bar/?baz=qux#quux\" (does not satisfy net.AbsURL): error in call to net.AbsURL: URL is not absolute:\n generated.cue:1:1\n instance.json:1:1\n" 673 + "v3": "6 errors in empty disjunction:\nconflicting values \"//foo.bar/?baz=qux#quux\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:37\n instance.json:1:1\nconflicting values \"//foo.bar/?baz=qux#quux\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"//foo.bar/?baz=qux#quux\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"//foo.bar/?baz=qux#quux\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"//foo.bar/?baz=qux#quux\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:45\n instance.json:1:1\ninvalid value \"//foo.bar/?baz=qux#quux\" (does not satisfy net.AbsURL): error in call to net.AbsURL: URL is not absolute:\n generated.cue:1:1\n instance.json:1:1\n" 674 674 } 675 675 } 676 676 ]
+6 -6
encoding/jsonschema/testdata/external/tests/draft2020-12/items.json
··· 462 462 "valid": true, 463 463 "skip": { 464 464 "v2": "5 errors in empty disjunction:\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:61\n instance.json:1:1\nconflicting values bool and [] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\n", 465 - "v3": "7 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:61\n instance.json:1:1\nincompatible list lengths (0 and 4):\n generated.cue:3:33\nexplicit error (_|_ literal) in source:\n generated.cue:3:54\n" 465 + "v3": "7 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:61\n instance.json:1:1\nincompatible list lengths (0 and 4):\n generated.cue:3:33\nexplicit error (_|_ literal) in source:\n generated.cue:3:54\n" 466 466 } 467 467 }, 468 468 { ··· 473 473 "valid": true, 474 474 "skip": { 475 475 "v2": "5 errors in empty disjunction:\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:61\n instance.json:1:1\nconflicting values bool and [1] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [1] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [1] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [1] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\n", 476 - "v3": "7 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:61\n instance.json:1:1\nincompatible list lengths (1 and 4):\n generated.cue:3:33\nexplicit error (_|_ literal) in source:\n generated.cue:3:54\n" 476 + "v3": "7 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:61\n instance.json:1:1\nincompatible list lengths (1 and 4):\n generated.cue:3:33\nexplicit error (_|_ literal) in source:\n generated.cue:3:54\n" 477 477 } 478 478 }, 479 479 { ··· 485 485 "valid": true, 486 486 "skip": { 487 487 "v2": "5 errors in empty disjunction:\nconflicting values [1,2] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:61\n instance.json:1:1\nconflicting values bool and [1,2] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [1,2] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [1,2] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [1,2] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\n", 488 - "v3": "7 errors in empty disjunction:\nconflicting values [1,2] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1,2] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1,2] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1,2] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1,2] and {...} (mismatched types list and struct):\n generated.cue:3:61\n instance.json:1:1\nincompatible list lengths (2 and 4):\n generated.cue:3:33\nexplicit error (_|_ literal) in source:\n generated.cue:3:54\n" 488 + "v3": "7 errors in empty disjunction:\nconflicting values [1,2] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1,2] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1,2] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1,2] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1,2] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:61\n instance.json:1:1\nincompatible list lengths (2 and 4):\n generated.cue:3:33\nexplicit error (_|_ literal) in source:\n generated.cue:3:54\n" 489 489 } 490 490 }, 491 491 { ··· 498 498 "valid": true, 499 499 "skip": { 500 500 "v2": "6 errors in empty disjunction:\nconflicting values [1,2,3] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:61\n instance.json:1:1\nconflicting values bool and [1,2,3] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [1,2,3] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [1,2,3] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [1,2,3] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:54\n", 501 - "v3": "6 errors in empty disjunction:\nconflicting values [1,2,3] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1,2,3] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1,2,3] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1,2,3] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1,2,3] and {...} (mismatched types list and struct):\n generated.cue:3:61\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:54\n" 501 + "v3": "6 errors in empty disjunction:\nconflicting values [1,2,3] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1,2,3] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1,2,3] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1,2,3] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1,2,3] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:61\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:54\n" 502 502 } 503 503 }, 504 504 { ··· 573 573 "valid": true, 574 574 "skip": { 575 575 "v2": "6 errors in empty disjunction:\nconflicting values [\"x\",2,3] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:60\n instance.json:1:1\nconflicting values bool and [\"x\",2,3] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [\"x\",2,3] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [\"x\",2,3] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [\"x\",2,3] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\n0: conflicting values \"x\" and int (mismatched types string and int):\n generated.cue:3:1\n generated.cue:3:50\n generated.cue:3:53\n instance.json:1:2\n", 576 - "v3": "6 errors in empty disjunction:\nconflicting values \"x\" and int (mismatched types string and int):\n generated.cue:3:53\n instance.json:1:2\nconflicting values [\"x\",2,3] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [\"x\",2,3] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [\"x\",2,3] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [\"x\",2,3] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [\"x\",2,3] and {...} (mismatched types list and struct):\n generated.cue:3:60\n instance.json:1:1\n" 576 + "v3": "6 errors in empty disjunction:\nconflicting values \"x\" and int (mismatched types string and int):\n generated.cue:3:1\n generated.cue:3:53\n instance.json:1:2\nconflicting values [\"x\",2,3] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [\"x\",2,3] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [\"x\",2,3] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [\"x\",2,3] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [\"x\",2,3] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:60\n instance.json:1:1\n" 577 577 } 578 578 }, 579 579 { ··· 613 613 "valid": true, 614 614 "skip": { 615 615 "v2": "6 errors in empty disjunction:\nconflicting values [null] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:55\n instance.json:1:1\nconflicting values bool and [null] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [null] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [null] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [null] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:48\n", 616 - "v3": "6 errors in empty disjunction:\nconflicting values [null] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [null] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [null] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [null] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [null] and {...} (mismatched types list and struct):\n generated.cue:3:55\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:48\n" 616 + "v3": "6 errors in empty disjunction:\nconflicting values [null] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [null] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [null] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [null] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [null] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:55\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:48\n" 617 617 } 618 618 } 619 619 ]
+3 -3
encoding/jsonschema/testdata/external/tests/draft2020-12/optional/format/date-time.json
··· 62 62 "valid": true, 63 63 "skip": { 64 64 "v2": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T23:59:60Z\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1998-12-31T23:59:60Z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T23:59:60Z\":\n generated.cue:1:1\n instance.json:1:1\n", 65 - "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T23:59:60Z\" and [...] (mismatched types string and list):\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and bool (mismatched types string and bool):\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and number (mismatched types string and number):\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and {...} (mismatched types string and struct):\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1998-12-31T23:59:60Z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T23:59:60Z\":\n generated.cue:1:1\n instance.json:1:1\n" 65 + "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T23:59:60Z\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1998-12-31T23:59:60Z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T23:59:60Z\":\n generated.cue:1:1\n instance.json:1:1\n" 66 66 } 67 67 }, 68 68 { ··· 71 71 "valid": true, 72 72 "skip": { 73 73 "v2": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1998-12-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n", 74 - "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1998-12-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n" 74 + "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1998-12-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n" 75 75 } 76 76 }, 77 77 { ··· 119 119 "valid": true, 120 120 "skip": { 121 121 "v2": "6 errors in empty disjunction:\nconflicting values \"1963-06-19t08:30:06.283185z\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1963-06-19t08:30:06.283185z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1963-06-19t08:30:06.283185z\":\n generated.cue:1:1\n instance.json:1:1\n", 122 - "v3": "6 errors in empty disjunction:\nconflicting values \"1963-06-19t08:30:06.283185z\" and [...] (mismatched types string and list):\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and bool (mismatched types string and bool):\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and number (mismatched types string and number):\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and {...} (mismatched types string and struct):\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1963-06-19t08:30:06.283185z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1963-06-19t08:30:06.283185z\":\n generated.cue:1:1\n instance.json:1:1\n" 122 + "v3": "6 errors in empty disjunction:\nconflicting values \"1963-06-19t08:30:06.283185z\" and [...] (mismatched types string and list):\n generated.cue:5:1\n generated.cue:5:36\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and bool (mismatched types string and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and null (mismatched types string and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and number (mismatched types string and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and {...} (mismatched types string and struct):\n generated.cue:5:1\n generated.cue:5:44\n instance.json:1:1\ninvalid value \"1963-06-19t08:30:06.283185z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1963-06-19t08:30:06.283185z\":\n generated.cue:1:1\n instance.json:1:1\n" 123 123 } 124 124 }, 125 125 {
+4 -4
encoding/jsonschema/testdata/external/tests/draft2020-12/prefixItems.json
··· 37 37 "valid": true, 38 38 "skip": { 39 39 "v2": "5 errors in empty disjunction:\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:54\n instance.json:1:1\nconflicting values bool and [1] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [1] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [1] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [1] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\n", 40 - "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:54\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:3:33\n" 40 + "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:54\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:3:33\n" 41 41 } 42 42 }, 43 43 { ··· 55 55 "valid": true, 56 56 "skip": { 57 57 "v2": "5 errors in empty disjunction:\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:54\n instance.json:1:1\nconflicting values bool and [] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\n", 58 - "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:54\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:3:33\n" 58 + "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:54\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:3:33\n" 59 59 } 60 60 }, 61 61 { ··· 87 87 "valid": true, 88 88 "skip": { 89 89 "v2": "5 errors in empty disjunction:\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:49\n instance.json:1:1\nconflicting values bool and [1] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [1] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [1] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [1] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\n", 90 - "v3": "7 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:49\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:3:33\nexplicit error (_|_ literal) in source:\n generated.cue:3:37\n" 90 + "v3": "7 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:49\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:3:33\nexplicit error (_|_ literal) in source:\n generated.cue:3:37\n" 91 91 } 92 92 }, 93 93 { ··· 104 104 "valid": true, 105 105 "skip": { 106 106 "v2": "5 errors in empty disjunction:\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:49\n instance.json:1:1\nconflicting values bool and [] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\n", 107 - "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:49\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:3:33\n" 107 + "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:49\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:3:33\n" 108 108 } 109 109 } 110 110 ]
+6 -6
encoding/jsonschema/testdata/external/tests/draft2020-12/uniqueItems.json
··· 463 463 "valid": true, 464 464 "skip": { 465 465 "v2": "7 errors in empty disjunction:\nconflicting values [false,true] and {...} (mismatched types list and struct):\n generated.cue:5:1\n generated.cue:5:85\n instance.json:1:1\nconflicting values bool and [false,true] (mismatched types bool and list):\n generated.cue:5:8\n instance.json:1:1\nconflicting values null and [false,true] (mismatched types null and list):\n generated.cue:5:1\n instance.json:1:1\nconflicting values number and [false,true] (mismatched types number and list):\n generated.cue:5:15\n instance.json:1:1\nconflicting values string and [false,true] (mismatched types string and list):\n generated.cue:5:24\n instance.json:1:1\ninvalid value [_|_(explicit error (_|_ literal) in source),_|_(explicit error (_|_ literal) in source)] (does not satisfy list.UniqueItems): equal values at position 0 and 1:\n generated.cue:5:33\n generated.cue:1:1\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:5:78\n", 466 - "v3": "6 errors in empty disjunction:\nconflicting values [false,true] and bool (mismatched types list and bool):\n generated.cue:5:8\n instance.json:1:1\nconflicting values [false,true] and null (mismatched types list and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values [false,true] and number (mismatched types list and number):\n generated.cue:5:15\n instance.json:1:1\nconflicting values [false,true] and string (mismatched types list and string):\n generated.cue:5:24\n instance.json:1:1\nconflicting values [false,true] and {...} (mismatched types list and struct):\n generated.cue:5:85\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:5:78\n" 466 + "v3": "6 errors in empty disjunction:\nconflicting values [false,true] and bool (mismatched types list and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values [false,true] and null (mismatched types list and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values [false,true] and number (mismatched types list and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values [false,true] and string (mismatched types list and string):\n generated.cue:5:1\n generated.cue:5:24\n instance.json:1:1\nconflicting values [false,true] and {...} (mismatched types list and struct):\n generated.cue:5:1\n generated.cue:5:85\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:5:78\n" 467 467 } 468 468 }, 469 469 { ··· 475 475 "valid": true, 476 476 "skip": { 477 477 "v2": "7 errors in empty disjunction:\nconflicting values [true,false] and {...} (mismatched types list and struct):\n generated.cue:5:1\n generated.cue:5:85\n instance.json:1:1\nconflicting values bool and [true,false] (mismatched types bool and list):\n generated.cue:5:8\n instance.json:1:1\nconflicting values null and [true,false] (mismatched types null and list):\n generated.cue:5:1\n instance.json:1:1\nconflicting values number and [true,false] (mismatched types number and list):\n generated.cue:5:15\n instance.json:1:1\nconflicting values string and [true,false] (mismatched types string and list):\n generated.cue:5:24\n instance.json:1:1\ninvalid value [_|_(explicit error (_|_ literal) in source),_|_(explicit error (_|_ literal) in source)] (does not satisfy list.UniqueItems): equal values at position 0 and 1:\n generated.cue:5:33\n generated.cue:1:1\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:5:78\n", 478 - "v3": "6 errors in empty disjunction:\nconflicting values [true,false] and bool (mismatched types list and bool):\n generated.cue:5:8\n instance.json:1:1\nconflicting values [true,false] and null (mismatched types list and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values [true,false] and number (mismatched types list and number):\n generated.cue:5:15\n instance.json:1:1\nconflicting values [true,false] and string (mismatched types list and string):\n generated.cue:5:24\n instance.json:1:1\nconflicting values [true,false] and {...} (mismatched types list and struct):\n generated.cue:5:85\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:5:78\n" 478 + "v3": "6 errors in empty disjunction:\nconflicting values [true,false] and bool (mismatched types list and bool):\n generated.cue:5:1\n generated.cue:5:8\n instance.json:1:1\nconflicting values [true,false] and null (mismatched types list and null):\n generated.cue:5:1\n instance.json:1:1\nconflicting values [true,false] and number (mismatched types list and number):\n generated.cue:5:1\n generated.cue:5:15\n instance.json:1:1\nconflicting values [true,false] and string (mismatched types list and string):\n generated.cue:5:1\n generated.cue:5:24\n instance.json:1:1\nconflicting values [true,false] and {...} (mismatched types list and struct):\n generated.cue:5:1\n generated.cue:5:85\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:5:78\n" 479 479 } 480 480 }, 481 481 { ··· 800 800 "valid": true, 801 801 "skip": { 802 802 "v2": "6 errors in empty disjunction:\nconflicting values [false,true] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:64\n instance.json:1:1\nconflicting values bool and [false,true] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [false,true] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [false,true] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [false,true] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:57\n", 803 - "v3": "6 errors in empty disjunction:\nconflicting values [false,true] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [false,true] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [false,true] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [false,true] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [false,true] and {...} (mismatched types list and struct):\n generated.cue:3:64\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:57\n" 803 + "v3": "6 errors in empty disjunction:\nconflicting values [false,true] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [false,true] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [false,true] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [false,true] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [false,true] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:64\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:57\n" 804 804 } 805 805 }, 806 806 { ··· 812 812 "valid": true, 813 813 "skip": { 814 814 "v2": "6 errors in empty disjunction:\nconflicting values [true,false] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:64\n instance.json:1:1\nconflicting values bool and [true,false] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [true,false] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [true,false] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [true,false] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:57\n", 815 - "v3": "6 errors in empty disjunction:\nconflicting values [true,false] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [true,false] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [true,false] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [true,false] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [true,false] and {...} (mismatched types list and struct):\n generated.cue:3:64\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:57\n" 815 + "v3": "6 errors in empty disjunction:\nconflicting values [true,false] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [true,false] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [true,false] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [true,false] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [true,false] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:64\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:57\n" 816 816 } 817 817 }, 818 818 { ··· 824 824 "valid": true, 825 825 "skip": { 826 826 "v2": "6 errors in empty disjunction:\nconflicting values [false,false] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:64\n instance.json:1:1\nconflicting values bool and [false,false] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [false,false] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [false,false] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [false,false] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:57\n", 827 - "v3": "6 errors in empty disjunction:\nconflicting values [false,false] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [false,false] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [false,false] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [false,false] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [false,false] and {...} (mismatched types list and struct):\n generated.cue:3:64\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:57\n" 827 + "v3": "6 errors in empty disjunction:\nconflicting values [false,false] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [false,false] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [false,false] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [false,false] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [false,false] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:64\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:57\n" 828 828 } 829 829 }, 830 830 { ··· 836 836 "valid": true, 837 837 "skip": { 838 838 "v2": "6 errors in empty disjunction:\nconflicting values [true,true] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:64\n instance.json:1:1\nconflicting values bool and [true,true] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [true,true] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [true,true] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [true,true] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:57\n", 839 - "v3": "6 errors in empty disjunction:\nconflicting values [true,true] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [true,true] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [true,true] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [true,true] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [true,true] and {...} (mismatched types list and struct):\n generated.cue:3:64\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:57\n" 839 + "v3": "6 errors in empty disjunction:\nconflicting values [true,true] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [true,true] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [true,true] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [true,true] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [true,true] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:64\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:57\n" 840 840 } 841 841 }, 842 842 {
+3 -3
encoding/jsonschema/testdata/external/tests/draft4/additionalItems.json
··· 69 69 "valid": true, 70 70 "skip": { 71 71 "v2": "5 errors in empty disjunction:\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nconflicting values bool and [] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 72 - "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:2:33\n" 72 + "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:2:33\n" 73 73 } 74 74 }, 75 75 { ··· 80 80 "valid": true, 81 81 "skip": { 82 82 "v2": "5 errors in empty disjunction:\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nconflicting values bool and [1] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [1] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [1] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [1] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 83 - "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:2:33\n" 83 + "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:2:33\n" 84 84 } 85 85 }, 86 86 { ··· 92 92 "valid": true, 93 93 "skip": { 94 94 "v2": "5 errors in empty disjunction:\nconflicting values [1,2] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nconflicting values bool and [1,2] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [1,2] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [1,2] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [1,2] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 95 - "v3": "6 errors in empty disjunction:\nconflicting values [1,2] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1,2] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1,2] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1,2] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1,2] and {...} (mismatched types list and struct):\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (2 and 3):\n generated.cue:2:33\n" 95 + "v3": "6 errors in empty disjunction:\nconflicting values [1,2] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1,2] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1,2] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1,2] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1,2] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (2 and 3):\n generated.cue:2:33\n" 96 96 } 97 97 }, 98 98 {
+2 -2
encoding/jsonschema/testdata/external/tests/draft4/enum.json
··· 364 364 "valid": true, 365 365 "skip": { 366 366 "v2": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:2:1\n generated.cue:2:2\n instance.json:1:2\n", 367 - "v3": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:2:2\n instance.json:1:2\n" 367 + "v3": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:2:1\n generated.cue:2:2\n instance.json:1:2\n" 368 368 } 369 369 } 370 370 ] ··· 430 430 "valid": true, 431 431 "skip": { 432 432 "v2": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:2:1\n generated.cue:2:2\n instance.json:1:2\n", 433 - "v3": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:2:2\n instance.json:1:2\n" 433 + "v3": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:2:1\n generated.cue:2:2\n instance.json:1:2\n" 434 434 } 435 435 } 436 436 ]
+2 -2
encoding/jsonschema/testdata/external/tests/draft4/items.json
··· 78 78 "valid": true, 79 79 "skip": { 80 80 "v2": "5 errors in empty disjunction:\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:54\n instance.json:1:1\nconflicting values bool and [1] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [1] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [1] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [1] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 81 - "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:54\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:2:33\n" 81 + "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:54\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:2:33\n" 82 82 } 83 83 }, 84 84 { ··· 96 96 "valid": true, 97 97 "skip": { 98 98 "v2": "5 errors in empty disjunction:\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:54\n instance.json:1:1\nconflicting values bool and [] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 99 - "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:54\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:2:33\n" 99 + "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:54\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:2:33\n" 100 100 } 101 101 }, 102 102 {
+1 -1
encoding/jsonschema/testdata/external/tests/draft4/maximum.json
··· 73 73 "valid": true, 74 74 "skip": { 75 75 "v2": "6 errors in empty disjunction:\nconflicting values 3.0 and [...] (mismatched types float and list):\n generated.cue:2:1\n generated.cue:2:31\n instance.json:1:1\nconflicting values 3.0 and bool (mismatched types float and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values 3.0 and null (mismatched types float and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values 3.0 and string (mismatched types float and string):\n generated.cue:2:1\n generated.cue:2:22\n instance.json:1:1\nconflicting values 3.0 and {...} (mismatched types float and struct):\n generated.cue:2:1\n generated.cue:2:39\n instance.json:1:1\ninvalid value 3.0 (out of bound \u003c3.0):\n generated.cue:2:15\n instance.json:1:1\n", 76 - "v3": "6 errors in empty disjunction:\nconflicting values 3.0 and [...] (mismatched types float and list):\n generated.cue:2:31\n instance.json:1:1\nconflicting values 3.0 and bool (mismatched types float and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values 3.0 and null (mismatched types float and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values 3.0 and string (mismatched types float and string):\n generated.cue:2:22\n instance.json:1:1\nconflicting values 3.0 and {...} (mismatched types float and struct):\n generated.cue:2:39\n instance.json:1:1\ninvalid value 3.0 (out of bound \u003c3.0):\n generated.cue:2:15\n instance.json:1:1\n" 76 + "v3": "6 errors in empty disjunction:\nconflicting values 3.0 and [...] (mismatched types float and list):\n generated.cue:2:1\n generated.cue:2:31\n instance.json:1:1\nconflicting values 3.0 and bool (mismatched types float and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values 3.0 and null (mismatched types float and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values 3.0 and string (mismatched types float and string):\n generated.cue:2:1\n generated.cue:2:22\n instance.json:1:1\nconflicting values 3.0 and {...} (mismatched types float and struct):\n generated.cue:2:1\n generated.cue:2:39\n instance.json:1:1\ninvalid value 3.0 (out of bound \u003c3.0):\n generated.cue:2:15\n instance.json:1:1\n" 77 77 } 78 78 }, 79 79 {
+1 -1
encoding/jsonschema/testdata/external/tests/draft4/minimum.json
··· 45 45 "valid": true, 46 46 "skip": { 47 47 "v2": "6 errors in empty disjunction:\nconflicting values 1.1 and [...] (mismatched types float and list):\n generated.cue:2:1\n generated.cue:2:31\n instance.json:1:1\nconflicting values 1.1 and bool (mismatched types float and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values 1.1 and null (mismatched types float and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values 1.1 and string (mismatched types float and string):\n generated.cue:2:1\n generated.cue:2:22\n instance.json:1:1\nconflicting values 1.1 and {...} (mismatched types float and struct):\n generated.cue:2:1\n generated.cue:2:39\n instance.json:1:1\ninvalid value 1.1 (out of bound \u003e1.1):\n generated.cue:2:15\n instance.json:1:1\n", 48 - "v3": "6 errors in empty disjunction:\nconflicting values 1.1 and [...] (mismatched types float and list):\n generated.cue:2:31\n instance.json:1:1\nconflicting values 1.1 and bool (mismatched types float and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values 1.1 and null (mismatched types float and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values 1.1 and string (mismatched types float and string):\n generated.cue:2:22\n instance.json:1:1\nconflicting values 1.1 and {...} (mismatched types float and struct):\n generated.cue:2:39\n instance.json:1:1\ninvalid value 1.1 (out of bound \u003e1.1):\n generated.cue:2:15\n instance.json:1:1\n" 48 + "v3": "6 errors in empty disjunction:\nconflicting values 1.1 and [...] (mismatched types float and list):\n generated.cue:2:1\n generated.cue:2:31\n instance.json:1:1\nconflicting values 1.1 and bool (mismatched types float and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values 1.1 and null (mismatched types float and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values 1.1 and string (mismatched types float and string):\n generated.cue:2:1\n generated.cue:2:22\n instance.json:1:1\nconflicting values 1.1 and {...} (mismatched types float and struct):\n generated.cue:2:1\n generated.cue:2:39\n instance.json:1:1\ninvalid value 1.1 (out of bound \u003e1.1):\n generated.cue:2:15\n instance.json:1:1\n" 49 49 } 50 50 }, 51 51 {
+3 -3
encoding/jsonschema/testdata/external/tests/draft4/optional/format/date-time.json
··· 61 61 "valid": true, 62 62 "skip": { 63 63 "v2": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T23:59:60Z\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T23:59:60Z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T23:59:60Z\":\n generated.cue:1:1\n instance.json:1:1\n", 64 - "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T23:59:60Z\" and [...] (mismatched types string and list):\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and bool (mismatched types string and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and number (mismatched types string and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and {...} (mismatched types string and struct):\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T23:59:60Z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T23:59:60Z\":\n generated.cue:1:1\n instance.json:1:1\n" 64 + "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T23:59:60Z\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T23:59:60Z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T23:59:60Z\":\n generated.cue:1:1\n instance.json:1:1\n" 65 65 } 66 66 }, 67 67 { ··· 70 70 "valid": true, 71 71 "skip": { 72 72 "v2": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n", 73 - "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n" 73 + "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n" 74 74 } 75 75 }, 76 76 { ··· 118 118 "valid": true, 119 119 "skip": { 120 120 "v2": "6 errors in empty disjunction:\nconflicting values \"1963-06-19t08:30:06.283185z\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1963-06-19t08:30:06.283185z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1963-06-19t08:30:06.283185z\":\n generated.cue:1:1\n instance.json:1:1\n", 121 - "v3": "6 errors in empty disjunction:\nconflicting values \"1963-06-19t08:30:06.283185z\" and [...] (mismatched types string and list):\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and bool (mismatched types string and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and number (mismatched types string and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and {...} (mismatched types string and struct):\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1963-06-19t08:30:06.283185z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1963-06-19t08:30:06.283185z\":\n generated.cue:1:1\n instance.json:1:1\n" 121 + "v3": "6 errors in empty disjunction:\nconflicting values \"1963-06-19t08:30:06.283185z\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1963-06-19t08:30:06.283185z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1963-06-19t08:30:06.283185z\":\n generated.cue:1:1\n instance.json:1:1\n" 122 122 } 123 123 }, 124 124 {
+3 -3
encoding/jsonschema/testdata/external/tests/draft6/additionalItems.json
··· 100 100 "valid": true, 101 101 "skip": { 102 102 "v2": "5 errors in empty disjunction:\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nconflicting values bool and [] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 103 - "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:2:33\n" 103 + "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:2:33\n" 104 104 } 105 105 }, 106 106 { ··· 111 111 "valid": true, 112 112 "skip": { 113 113 "v2": "5 errors in empty disjunction:\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nconflicting values bool and [1] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [1] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [1] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [1] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 114 - "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:2:33\n" 114 + "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:2:33\n" 115 115 } 116 116 }, 117 117 { ··· 123 123 "valid": true, 124 124 "skip": { 125 125 "v2": "5 errors in empty disjunction:\nconflicting values [1,2] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nconflicting values bool and [1,2] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [1,2] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [1,2] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [1,2] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 126 - "v3": "6 errors in empty disjunction:\nconflicting values [1,2] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1,2] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1,2] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1,2] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1,2] and {...} (mismatched types list and struct):\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (2 and 3):\n generated.cue:2:33\n" 126 + "v3": "6 errors in empty disjunction:\nconflicting values [1,2] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1,2] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1,2] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1,2] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1,2] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (2 and 3):\n generated.cue:2:33\n" 127 127 } 128 128 }, 129 129 {
+2 -2
encoding/jsonschema/testdata/external/tests/draft6/enum.json
··· 364 364 "valid": true, 365 365 "skip": { 366 366 "v2": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:2:1\n generated.cue:2:2\n instance.json:1:2\n", 367 - "v3": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:2:2\n instance.json:1:2\n" 367 + "v3": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:2:1\n generated.cue:2:2\n instance.json:1:2\n" 368 368 } 369 369 } 370 370 ] ··· 430 430 "valid": true, 431 431 "skip": { 432 432 "v2": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:2:1\n generated.cue:2:2\n instance.json:1:2\n", 433 - "v3": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:2:2\n instance.json:1:2\n" 433 + "v3": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:2:1\n generated.cue:2:2\n instance.json:1:2\n" 434 434 } 435 435 } 436 436 ]
+4 -4
encoding/jsonschema/testdata/external/tests/draft6/items.json
··· 78 78 "valid": true, 79 79 "skip": { 80 80 "v2": "5 errors in empty disjunction:\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:54\n instance.json:1:1\nconflicting values bool and [1] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [1] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [1] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [1] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 81 - "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:54\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:2:33\n" 81 + "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:54\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:2:33\n" 82 82 } 83 83 }, 84 84 { ··· 96 96 "valid": true, 97 97 "skip": { 98 98 "v2": "5 errors in empty disjunction:\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:54\n instance.json:1:1\nconflicting values bool and [] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 99 - "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:54\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:2:33\n" 99 + "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:54\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:2:33\n" 100 100 } 101 101 }, 102 102 { ··· 171 171 "valid": true, 172 172 "skip": { 173 173 "v2": "5 errors in empty disjunction:\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:49\n instance.json:1:1\nconflicting values bool and [1] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [1] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [1] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [1] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 174 - "v3": "7 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:49\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:2:33\nexplicit error (_|_ literal) in source:\n generated.cue:2:37\n" 174 + "v3": "7 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:49\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:2:33\nexplicit error (_|_ literal) in source:\n generated.cue:2:37\n" 175 175 } 176 176 }, 177 177 { ··· 188 188 "valid": true, 189 189 "skip": { 190 190 "v2": "5 errors in empty disjunction:\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:49\n instance.json:1:1\nconflicting values bool and [] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 191 - "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:49\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:2:33\n" 191 + "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:49\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:2:33\n" 192 192 } 193 193 } 194 194 ]
+3 -3
encoding/jsonschema/testdata/external/tests/draft6/optional/format/date-time.json
··· 61 61 "valid": true, 62 62 "skip": { 63 63 "v2": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T23:59:60Z\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T23:59:60Z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T23:59:60Z\":\n generated.cue:1:1\n instance.json:1:1\n", 64 - "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T23:59:60Z\" and [...] (mismatched types string and list):\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and bool (mismatched types string and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and number (mismatched types string and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and {...} (mismatched types string and struct):\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T23:59:60Z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T23:59:60Z\":\n generated.cue:1:1\n instance.json:1:1\n" 64 + "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T23:59:60Z\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T23:59:60Z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T23:59:60Z\":\n generated.cue:1:1\n instance.json:1:1\n" 65 65 } 66 66 }, 67 67 { ··· 70 70 "valid": true, 71 71 "skip": { 72 72 "v2": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n", 73 - "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n" 73 + "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n" 74 74 } 75 75 }, 76 76 { ··· 118 118 "valid": true, 119 119 "skip": { 120 120 "v2": "6 errors in empty disjunction:\nconflicting values \"1963-06-19t08:30:06.283185z\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1963-06-19t08:30:06.283185z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1963-06-19t08:30:06.283185z\":\n generated.cue:1:1\n instance.json:1:1\n", 121 - "v3": "6 errors in empty disjunction:\nconflicting values \"1963-06-19t08:30:06.283185z\" and [...] (mismatched types string and list):\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and bool (mismatched types string and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and number (mismatched types string and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and {...} (mismatched types string and struct):\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1963-06-19t08:30:06.283185z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1963-06-19t08:30:06.283185z\":\n generated.cue:1:1\n instance.json:1:1\n" 121 + "v3": "6 errors in empty disjunction:\nconflicting values \"1963-06-19t08:30:06.283185z\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1963-06-19t08:30:06.283185z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1963-06-19t08:30:06.283185z\":\n generated.cue:1:1\n instance.json:1:1\n" 122 122 } 123 123 }, 124 124 {
+3 -3
encoding/jsonschema/testdata/external/tests/draft7/additionalItems.json
··· 100 100 "valid": true, 101 101 "skip": { 102 102 "v2": "5 errors in empty disjunction:\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nconflicting values bool and [] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 103 - "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:2:33\n" 103 + "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:2:33\n" 104 104 } 105 105 }, 106 106 { ··· 111 111 "valid": true, 112 112 "skip": { 113 113 "v2": "5 errors in empty disjunction:\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nconflicting values bool and [1] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [1] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [1] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [1] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 114 - "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:2:33\n" 114 + "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:2:33\n" 115 115 } 116 116 }, 117 117 { ··· 123 123 "valid": true, 124 124 "skip": { 125 125 "v2": "5 errors in empty disjunction:\nconflicting values [1,2] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nconflicting values bool and [1,2] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [1,2] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [1,2] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [1,2] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 126 - "v3": "6 errors in empty disjunction:\nconflicting values [1,2] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1,2] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1,2] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1,2] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1,2] and {...} (mismatched types list and struct):\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (2 and 3):\n generated.cue:2:33\n" 126 + "v3": "6 errors in empty disjunction:\nconflicting values [1,2] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1,2] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1,2] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1,2] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1,2] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:45\n instance.json:1:1\nincompatible list lengths (2 and 3):\n generated.cue:2:33\n" 127 127 } 128 128 }, 129 129 {
+1 -1
encoding/jsonschema/testdata/external/tests/draft7/contains.json
··· 204 204 "valid": true, 205 205 "skip": { 206 206 "v2": "6 errors in empty disjunction:\nconflicting values [\"foo\"] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:72\n instance.json:1:1\nconflicting values bool and [\"foo\"] (mismatched types bool and list):\n generated.cue:3:8\n instance.json:1:1\nconflicting values null and [\"foo\"] (mismatched types null and list):\n generated.cue:3:1\n instance.json:1:1\nconflicting values number and [\"foo\"] (mismatched types number and list):\n generated.cue:3:15\n instance.json:1:1\nconflicting values string and [\"foo\"] (mismatched types string and list):\n generated.cue:3:24\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:58\n", 207 - "v3": "6 errors in empty disjunction:\nconflicting values [\"foo\"] and bool (mismatched types list and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values [\"foo\"] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [\"foo\"] and number (mismatched types list and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values [\"foo\"] and string (mismatched types list and string):\n generated.cue:3:24\n instance.json:1:1\nconflicting values [\"foo\"] and {...} (mismatched types list and struct):\n generated.cue:3:72\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:58\n" 207 + "v3": "6 errors in empty disjunction:\nconflicting values [\"foo\"] and bool (mismatched types list and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values [\"foo\"] and null (mismatched types list and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values [\"foo\"] and number (mismatched types list and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values [\"foo\"] and string (mismatched types list and string):\n generated.cue:3:1\n generated.cue:3:24\n instance.json:1:1\nconflicting values [\"foo\"] and {...} (mismatched types list and struct):\n generated.cue:3:1\n generated.cue:3:72\n instance.json:1:1\nexplicit error (_|_ literal) in source:\n generated.cue:3:58\n" 208 208 } 209 209 }, 210 210 {
+2 -2
encoding/jsonschema/testdata/external/tests/draft7/enum.json
··· 364 364 "valid": true, 365 365 "skip": { 366 366 "v2": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:2:1\n generated.cue:2:2\n instance.json:1:2\n", 367 - "v3": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:2:2\n instance.json:1:2\n" 367 + "v3": "0: conflicting values 0.0 and 0 (mismatched types float and int):\n generated.cue:2:1\n generated.cue:2:2\n instance.json:1:2\n" 368 368 } 369 369 } 370 370 ] ··· 430 430 "valid": true, 431 431 "skip": { 432 432 "v2": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:2:1\n generated.cue:2:2\n instance.json:1:2\n", 433 - "v3": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:2:2\n instance.json:1:2\n" 433 + "v3": "0: conflicting values 1.0 and 1 (mismatched types float and int):\n generated.cue:2:1\n generated.cue:2:2\n instance.json:1:2\n" 434 434 } 435 435 } 436 436 ]
+4 -4
encoding/jsonschema/testdata/external/tests/draft7/items.json
··· 78 78 "valid": true, 79 79 "skip": { 80 80 "v2": "5 errors in empty disjunction:\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:54\n instance.json:1:1\nconflicting values bool and [1] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [1] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [1] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [1] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 81 - "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:54\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:2:33\n" 81 + "v3": "6 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:54\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:2:33\n" 82 82 } 83 83 }, 84 84 { ··· 96 96 "valid": true, 97 97 "skip": { 98 98 "v2": "5 errors in empty disjunction:\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:54\n instance.json:1:1\nconflicting values bool and [] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 99 - "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:54\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:2:33\n" 99 + "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:54\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:2:33\n" 100 100 } 101 101 }, 102 102 { ··· 171 171 "valid": true, 172 172 "skip": { 173 173 "v2": "5 errors in empty disjunction:\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:49\n instance.json:1:1\nconflicting values bool and [1] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [1] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [1] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [1] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 174 - "v3": "7 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:49\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:2:33\nexplicit error (_|_ literal) in source:\n generated.cue:2:37\n" 174 + "v3": "7 errors in empty disjunction:\nconflicting values [1] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [1] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [1] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [1] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [1] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:49\n instance.json:1:1\nincompatible list lengths (1 and 3):\n generated.cue:2:33\nexplicit error (_|_ literal) in source:\n generated.cue:2:37\n" 175 175 } 176 176 }, 177 177 { ··· 188 188 "valid": true, 189 189 "skip": { 190 190 "v2": "5 errors in empty disjunction:\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:49\n instance.json:1:1\nconflicting values bool and [] (mismatched types bool and list):\n generated.cue:2:8\n instance.json:1:1\nconflicting values null and [] (mismatched types null and list):\n generated.cue:2:1\n instance.json:1:1\nconflicting values number and [] (mismatched types number and list):\n generated.cue:2:15\n instance.json:1:1\nconflicting values string and [] (mismatched types string and list):\n generated.cue:2:24\n instance.json:1:1\n", 191 - "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:2:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:2:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:2:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:49\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:2:33\n" 191 + "v3": "6 errors in empty disjunction:\nconflicting values [] and bool (mismatched types list and bool):\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\nconflicting values [] and null (mismatched types list and null):\n generated.cue:2:1\n instance.json:1:1\nconflicting values [] and number (mismatched types list and number):\n generated.cue:2:1\n generated.cue:2:15\n instance.json:1:1\nconflicting values [] and string (mismatched types list and string):\n generated.cue:2:1\n generated.cue:2:24\n instance.json:1:1\nconflicting values [] and {...} (mismatched types list and struct):\n generated.cue:2:1\n generated.cue:2:49\n instance.json:1:1\nincompatible list lengths (0 and 3):\n generated.cue:2:33\n" 192 192 } 193 193 } 194 194 ]
+3 -3
encoding/jsonschema/testdata/external/tests/draft7/optional/format/date-time.json
··· 61 61 "valid": true, 62 62 "skip": { 63 63 "v2": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T23:59:60Z\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T23:59:60Z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T23:59:60Z\":\n generated.cue:1:1\n instance.json:1:1\n", 64 - "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T23:59:60Z\" and [...] (mismatched types string and list):\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and bool (mismatched types string and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and number (mismatched types string and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and {...} (mismatched types string and struct):\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T23:59:60Z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T23:59:60Z\":\n generated.cue:1:1\n instance.json:1:1\n" 64 + "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T23:59:60Z\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T23:59:60Z\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T23:59:60Z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T23:59:60Z\":\n generated.cue:1:1\n instance.json:1:1\n" 65 65 } 66 66 }, 67 67 { ··· 70 70 "valid": true, 71 71 "skip": { 72 72 "v2": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n", 73 - "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n" 73 + "v3": "6 errors in empty disjunction:\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1998-12-31T15:59:60.123-08:00\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1998-12-31T15:59:60.123-08:00\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1998-12-31T15:59:60.123-08:00\":\n generated.cue:1:1\n instance.json:1:1\n" 74 74 } 75 75 }, 76 76 { ··· 118 118 "valid": true, 119 119 "skip": { 120 120 "v2": "6 errors in empty disjunction:\nconflicting values \"1963-06-19t08:30:06.283185z\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1963-06-19t08:30:06.283185z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1963-06-19t08:30:06.283185z\":\n generated.cue:1:1\n instance.json:1:1\n", 121 - "v3": "6 errors in empty disjunction:\nconflicting values \"1963-06-19t08:30:06.283185z\" and [...] (mismatched types string and list):\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and bool (mismatched types string and bool):\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and number (mismatched types string and number):\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and {...} (mismatched types string and struct):\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1963-06-19t08:30:06.283185z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1963-06-19t08:30:06.283185z\":\n generated.cue:1:1\n instance.json:1:1\n" 121 + "v3": "6 errors in empty disjunction:\nconflicting values \"1963-06-19t08:30:06.283185z\" and [...] (mismatched types string and list):\n generated.cue:3:1\n generated.cue:3:36\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and bool (mismatched types string and bool):\n generated.cue:3:1\n generated.cue:3:8\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and null (mismatched types string and null):\n generated.cue:3:1\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and number (mismatched types string and number):\n generated.cue:3:1\n generated.cue:3:15\n instance.json:1:1\nconflicting values \"1963-06-19t08:30:06.283185z\" and {...} (mismatched types string and struct):\n generated.cue:3:1\n generated.cue:3:44\n instance.json:1:1\ninvalid value \"1963-06-19t08:30:06.283185z\" (does not satisfy time.Time): error in call to time.Time: invalid time \"1963-06-19t08:30:06.283185z\":\n generated.cue:1:1\n instance.json:1:1\n" 122 122 } 123 123 }, 124 124 {
+13 -5
internal/core/adt/closed.go
··· 106 106 CycleInfo 107 107 } 108 108 109 - func (c CloseInfo) Location() Node { 110 - return nil 109 + func (c CloseInfo) Location(ctx *OpContext) Node { 110 + if c.opID != ctx.opID || c.defID == 0 { 111 + return nil 112 + } 113 + return ctx.containments[c.defID].n 111 114 } 112 115 113 116 // TODO(perf): remove: error positions should always be computed on demand 114 117 // in dedicated error types. 115 118 func (c *CloseInfo) AddPositions(ctx *OpContext) { 116 - c.AncestorPositions(func(n Node) { 119 + c.AncestorPositions(ctx, func(n Node) { 117 120 ctx.AddPosition(n) 118 121 }) 119 122 } ··· 121 124 // AncestorPositions calls f for each parent of c, starting with the most 122 125 // immediate parent. This is used to add positions to errors that are 123 126 // associated with a CloseInfo. 124 - func (c *CloseInfo) AncestorPositions(f func(Node)) { 125 - // TODO(evalv3): track positions 127 + func (c *CloseInfo) AncestorPositions(ctx *OpContext, f func(Node)) { 128 + if c.opID != ctx.opID { 129 + return 130 + } 131 + for p := c.defID; p != 0; p = ctx.containments[p].id { 132 + f(ctx.containments[p].n) 133 + } 126 134 } 127 135 128 136 // IsDef reports whether an expressions is a reference that references a
+1 -1
internal/core/adt/composite.go
··· 975 975 // scope that will be closed in the presence of closed embeddings 976 976 // independently from the other conjuncts. 977 977 n := dst.getBareState(ctx) 978 - c.CloseInfo = n.splitScope(c.CloseInfo) 978 + c.CloseInfo = n.splitScope(nil, c.CloseInfo) 979 979 980 980 // Even if a node is marked as ClosedRecursive, it may be that this 981 981 // is the first node that references a definition.
+6 -6
internal/core/adt/conjunct.go
··· 355 355 closeInfo.FromDef = true 356 356 closeInfo.TopDef = false 357 357 358 - closeInfo = n.addResolver(arc, closeInfo, false) 358 + closeInfo = n.addResolver(c.x, arc, closeInfo, false) 359 359 default: 360 - closeInfo = n.addResolver(arc, closeInfo, true) 360 + closeInfo = n.addResolver(c.x, arc, closeInfo, true) 361 361 } 362 362 if closeInfo.defID != 0 && closeInfo.opID == n.ctx.opID { 363 363 c.CloseInfo.opID = closeInfo.opID ··· 448 448 449 449 // If this is a definition, it will be repeated in the evaluation. 450 450 if !x.IsFromDisjunction() { 451 - id = n.addResolver(x, id, false) 451 + id = n.addResolver(v, x, id, false) 452 452 } 453 453 } 454 454 if _, ok := x.BaseValue.(*StructMarker); ok { ··· 568 568 if err := valueError(v); err != nil { 569 569 err.AddPosition(v) 570 570 err.AddPosition(n.upperBound) 571 - err.AddClosedPositions(id) 571 + err.AddClosedPositions(n.ctx, id) 572 572 } 573 573 n.upperBound = nil 574 574 n.insertValueConjunct(env, v, id) ··· 582 582 if err := valueError(v); err != nil { 583 583 err.AddPosition(v) 584 584 err.AddPosition(n.lowerBound) 585 - err.AddClosedPositions(id) 585 + err.AddClosedPositions(n.ctx, id) 586 586 } 587 587 n.lowerBound = nil 588 588 n.insertValueConjunct(env, v, id) ··· 684 684 if err := valueError(u); err != nil { 685 685 err.AddPosition(n.lowerBound) 686 686 err.AddPosition(n.upperBound) 687 - err.AddClosedPositions(id) 687 + err.AddClosedPositions(n.ctx, id) 688 688 } 689 689 n.lowerBound = nil 690 690 n.upperBound = nil
+1 -1
internal/core/adt/constraints.go
··· 178 178 if x == cycle { 179 179 err := ctx.NewPosf(pos(pattern), "cyclic pattern constraint") 180 180 ctx.vertex.VisitLeafConjuncts(func(c Conjunct) bool { 181 - addPositions(err, c) 181 + addPositions(ctx, err, c) 182 182 return true 183 183 }) 184 184 ctx.AddBottom(&Bottom{
+3 -3
internal/core/adt/context.go
··· 102 102 nest int 103 103 104 104 // used in typocheck.go 105 - nextDefID defID // next available defID 106 - containments []defID // parent relations 107 - redirectsBuf []replaceID // reusable buffer used in containsDefID 105 + nextDefID defID // next available defID 106 + containments []containment // parent relations 107 + redirectsBuf []replaceID // reusable buffer used in containsDefID 108 108 109 109 stats stats.Counts 110 110 freeListNode *nodeContext
+7 -7
internal/core/adt/errors.go
··· 212 212 } 213 213 } 214 214 215 - func addPositions(err *ValueError, c Conjunct) { 215 + func addPositions(ctx *OpContext, err *ValueError, c Conjunct) { 216 216 switch x := c.x.(type) { 217 217 case *Field: 218 218 // if x.ArcType == ArcRequired { ··· 220 220 // } 221 221 case *ConjunctGroup: 222 222 for _, c := range *x { 223 - addPositions(err, c) 223 + addPositions(ctx, err, c) 224 224 } 225 225 } 226 - if p := c.CloseInfo.Location(); p != nil { 226 + if p := c.CloseInfo.Location(ctx); p != nil { 227 227 err.AddPosition(p) 228 228 } 229 229 } ··· 235 235 if f, ok := c.x.(*Field); ok && f.ArcType == ArcRequired { 236 236 err.AddPosition(c.x) 237 237 } 238 - if p := c.CloseInfo.Location(); p != nil { 238 + if p := c.CloseInfo.Location(ctx); p != nil { 239 239 err.AddPosition(p) 240 240 } 241 241 return true ··· 254 254 err := ctx.Newf("missing required field in for comprehension: %v", v.Label) 255 255 err.AddPosition(x.Src) 256 256 v.VisitLeafConjuncts(func(c Conjunct) bool { 257 - addPositions(err, c) 257 + addPositions(ctx, err, c) 258 258 return true 259 259 }) 260 260 return &Bottom{ ··· 323 323 } 324 324 } 325 325 326 - func (v *ValueError) AddClosedPositions(c CloseInfo) { 327 - c.AncestorPositions(func(n Node) { 326 + func (v *ValueError) AddClosedPositions(ctx *OpContext, c CloseInfo) { 327 + c.AncestorPositions(ctx, func(n Node) { 328 328 v.AddPosition(n) 329 329 }) 330 330 }
+2 -2
internal/core/adt/eval.go
··· 612 612 err.AddPosition(v1) 613 613 err.AddPosition(v2) 614 614 for _, id := range ids { 615 - err.AddClosedPositions(id) 615 + err.AddClosedPositions(ctx, id) 616 616 } 617 617 618 618 n.addErr(err) ··· 650 650 } 651 651 652 652 for _, ci := range id { 653 - err.AddClosedPositions(ci) 653 + err.AddClosedPositions(ctx, ci) 654 654 } 655 655 656 656 n.addErr(err)
+19 -14
internal/core/adt/typocheck.go
··· 200 200 201 201 const deleteID defID = math.MaxUint32 202 202 203 - func (c *OpContext) getNextDefID() defID { 203 + type containment struct { 204 + id defID 205 + n Node 206 + } 207 + 208 + func (c *OpContext) getNextDefID(n Node) defID { 204 209 c.stats.NumCloseIDs++ 205 210 c.nextDefID++ 206 211 207 212 if len(c.containments) == 0 { 208 213 // Our ID starts at 1. Create an extra element for the zero value. 209 - c.containments = make([]defID, 1, 16) 214 + c.containments = make([]containment, 1, 16) 210 215 } 211 - c.containments = append(c.containments, 0) 216 + c.containments = append(c.containments, containment{id: 0, n: n}) 212 217 213 218 return c.nextDefID 214 219 } ··· 275 280 return 276 281 } 277 282 278 - if x.from < x.to && n.ctx.containments[x.to] == 0 { 279 - n.ctx.containments[x.to] = x.from 283 + if x.from < x.to && n.ctx.containments[x.to].id == 0 { 284 + n.ctx.containments[x.to].id = x.from 280 285 return 281 286 } 282 287 ··· 320 325 // multiple times to a single node. As we only want to insert each conjunct 321 326 // once, we need to ensure that within all contexts a single ID assigned to such 322 327 // a resolver is tracked. 323 - func (n *nodeContext) addResolver(v *Vertex, id CloseInfo, forceIgnore bool) CloseInfo { 328 + func (n *nodeContext) addResolver(p Node, v *Vertex, id CloseInfo, forceIgnore bool) CloseInfo { 324 329 if n.ctx.OpenDef { 325 330 return id 326 331 } ··· 383 388 } 384 389 385 390 if dstID == 0 || id.enclosingEmbed != 0 { 386 - next := n.ctx.getNextDefID() 391 + next := n.ctx.getNextDefID(p) 387 392 if dstID != 0 { 388 393 // If we need to activate an enclosing embed group, and the added 389 394 // resolver was already before, we need to allocate a new ID and ··· 431 436 return id 432 437 } 433 438 434 - func (n *nodeContext) newReq(id CloseInfo, kind defIDType) CloseInfo { 439 + func (n *nodeContext) newReq(p Node, id CloseInfo, kind defIDType) CloseInfo { 435 440 if id.defID != 0 && id.opID != n.ctx.opID { 436 441 return id.clearCloseCheck() 437 442 } 438 443 439 - dstID := n.ctx.getNextDefID() 444 + dstID := n.ctx.getNextDefID(p) 440 445 n.addReplacement(replaceID{from: id.defID, to: dstID}) 441 446 442 447 parent := id.defID ··· 506 511 } 507 512 } 508 513 509 - return n.newReq(id, defEmbedding) 514 + return n.newReq(x, id, defEmbedding) 510 515 } 511 516 512 517 // splitStruct is used to mark the outer struct of a field in which embeddings ··· 546 551 return id 547 552 } 548 553 549 - return n.splitScope(id) 554 + return n.splitScope(s, id) 550 555 } 551 556 552 - func (n *nodeContext) splitScope(id CloseInfo) CloseInfo { 553 - return n.newReq(id, defStruct) 557 + func (n *nodeContext) splitScope(p Node, id CloseInfo) CloseInfo { 558 + return n.newReq(p, id, defStruct) 554 559 } 555 560 556 561 func (n *nodeContext) checkTypos() { ··· 744 749 } 745 750 } 746 751 747 - p = c.containments[p] 752 + p = c.containments[p].id 748 753 if p == start { 749 754 // We won't match node we haven't already after one cycle. 750 755 return false
+9 -2
internal/core/adt/validate_test.go
··· 35 35 out string 36 36 lookup string 37 37 cfg *adt.ValidateConfig 38 + 39 + skipNoShare bool 38 40 } 39 41 testCases := []testCase{{ 40 42 name: "no error, but not concrete, even with definition label", ··· 262 264 #Def: a: x!: int 263 265 b: #Def 264 266 `, 265 - // TODO: \n test:3:7", 266 - out: "incomplete\nb.a.x: field is required but not present:\n test:2:13", 267 + // TODO: \n test:3:7", only works without structure sharing. 268 + out: "incomplete\nb.a.x: field is required but not present:\n test:2:13", 269 + skipNoShare: true, 267 270 }, { 268 271 // Issue #3864: issue resulting from structure sharing. 269 272 name: "attribute incomplete values in definitions to concrete path", ··· 286 289 }} 287 290 288 291 cuetdtest.Run(t, testCases, func(t *cuetdtest.T, tc *testCase) { 292 + if tc.skipNoShare { 293 + t.M.TODO_NoSharing(t) 294 + } 295 + 289 296 r := t.M.Runtime() 290 297 ctx := eval.NewContext(r, nil) 291 298