this repo has no description
0
fork

Configure Feed

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

internal/core/adt: fix NotEqualOp for lists with differing lengths

A human error meant that both EqualOp and NotEqualOp returned the
boolean "false" when the two values being compared were lists with
different lengths. Clearly, NotEqualOp needs to return "true".

Fix the literal and update the tests with CUE_UPDATE=true.

With thanks to Tianxin Dong for reporting the bug,
and to both Anton Gyllenberg and Pieter Emmelot for recognizing
what the one-line fix would be.

Fixes #2042.

Signed-off-by: Daniel Martí <mvdan@mvdan.cc>
Change-Id: Id34c931f243f3e4d135c1f39090e9172643cf941
Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/552352
Unity-Result: CUEcueckoo <cueckoo@cuelang.org>
TryBot-Result: CUEcueckoo <cueckoo@cuelang.org>
Reviewed-by: Paul Jolly <paul@myitcv.io>

+23 -23
+22 -22
cue/testdata/lists/021_list_equality.txtar
··· 99 99 feq9: false 100 100 feq10: false 101 101 feq11: false 102 - fne0: false 103 - fne1: false 104 - fne2: false 102 + fne0: true 103 + fne1: true 104 + fne2: true 105 105 fne3: false 106 - fne4: false 107 - fne5: false 108 - fne6: false 109 - fne7: false 110 - fne8: false 111 - fne9: false 112 - fne10: false 113 - fne11: false 106 + fne4: true 107 + fne5: true 108 + fne6: true 109 + fne7: true 110 + fne8: true 111 + fne9: true 112 + fne10: true 113 + fne11: true 114 114 -- out/export -- 115 115 eq0: true 116 116 eq1: true ··· 530 530 feq9: (bool){ false } 531 531 feq10: (bool){ false } 532 532 feq11: (bool){ false } 533 - fne0: (bool){ false } 534 - fne1: (bool){ false } 535 - fne2: (bool){ false } 533 + fne0: (bool){ true } 534 + fne1: (bool){ true } 535 + fne2: (bool){ true } 536 536 fne3: (bool){ false } 537 - fne4: (bool){ false } 538 - fne5: (bool){ false } 539 - fne6: (bool){ false } 540 - fne7: (bool){ false } 541 - fne8: (bool){ false } 542 - fne9: (bool){ false } 543 - fne10: (bool){ false } 544 - fne11: (bool){ false } 537 + fne4: (bool){ true } 538 + fne5: (bool){ true } 539 + fne6: (bool){ true } 540 + fne7: (bool){ true } 541 + fne8: (bool){ true } 542 + fne9: (bool){ true } 543 + fne10: (bool){ true } 544 + fne11: (bool){ true } 545 545 }
+1 -1
internal/core/adt/binop.go
··· 110 110 x := c.Elems(left) 111 111 y := c.Elems(right) 112 112 if len(x) != len(y) { 113 - return c.newBool(false) 113 + return c.newBool(true) 114 114 } 115 115 for i, e := range x { 116 116 a, _ := c.concrete(nil, e, op)