#name: list equality
#evalPartial
-- in.cue --
eq0: [] == []
eq1: [...] == []
eq2: [] == [...]
eq3: [...] == [...]

eq4: [1] == [1]
eq5: [1, ...] == [1]
eq6: [1] == [1, ...]
eq7: [1, ...] == [1, ...]

eq8:  [1, 2] == [1, 2]
eq9:  [1, 2, ...] == [1, 2]
eq10: [1, 2] == [1, 2, ...]
eq11: [1, 2, ...] == [1, 2, ...]

ne0: [] != []
ne1: [...] != []
ne2: [] != [...]
ne3: [...] != [...]

ne4: [1] != [1]
ne5: [1, ...] != [1]
ne6: [1] != [1, ...]
ne7: [1, ...] != [1, ...]

ne8:  [1, 2] != [1, 2]
ne9:  [1, 2, ...] != [1, 2]
ne10: [1, 2] != [1, 2, ...]
ne11: [1, 2, ...] != [1, 2, ...]

feq0: [] == [1]
feq1: [...] == [1]
feq2: [] == [1, ...]
feq3: [...] == [1, ...]

feq4: [1] == []
feq5: [1, ...] == []
feq6: [1] == [...]
feq7: [1, ...] == [...]

feq8:  [1, 2] == [1]
feq9:  [1, ...] == [1, 2]
feq10: [1, 2] == [1, ...]
feq11: [1, ...] == [1, 2, ...]

fne0: [] != [1]
fne1: [...] != [1]
fne2: [] != [1, ...]
fne3: [1, ...] != [1, ...]

fne4: [1] != []
fne5: [1, ...] != []
fne6: [1] != [...]
fne7: [1, ...] != [...]

fne8:  [1, 2] != [1]
fne9:  [1, ...] != [1, 2]
fne10: [1, 2] != [1, ...]
fne11: [1, ...] != [1, 2, ...]
-- out/def --
eq0:   true
eq1:   true
eq2:   true
eq3:   true
eq4:   true
eq5:   true
eq6:   true
eq7:   true
eq8:   true
eq9:   true
eq10:  true
eq11:  true
ne0:   true
ne1:   true
ne2:   true
ne3:   true
ne4:   false
ne5:   false
ne6:   false
ne7:   false
ne8:   false
ne9:   false
ne10:  false
ne11:  false
feq0:  false
feq1:  false
feq2:  false
feq3:  false
feq4:  false
feq5:  false
feq6:  false
feq7:  false
feq8:  false
feq9:  false
feq10: false
feq11: false
fne0:  true
fne1:  true
fne2:  true
fne3:  false
fne4:  true
fne5:  true
fne6:  true
fne7:  true
fne8:  true
fne9:  true
fne10: true
fne11: true
-- out/export --
eq0:   true
eq1:   true
eq2:   true
eq3:   true
eq4:   true
eq5:   true
eq6:   true
eq7:   true
eq8:   true
eq9:   true
eq10:  true
eq11:  true
ne0:   true
ne1:   true
ne2:   true
ne3:   true
ne4:   false
ne5:   false
ne6:   false
ne7:   false
ne8:   false
ne9:   false
ne10:  false
ne11:  false
feq0:  false
feq1:  false
feq2:  false
feq3:  false
feq4:  false
feq5:  false
feq6:  false
feq7:  false
feq8:  false
feq9:  false
feq10: false
feq11: false
fne0:  false
fne1:  false
fne2:  false
fne3:  false
fne4:  false
fne5:  false
fne6:  false
fne7:  false
fne8:  false
fne9:  false
fne10: false
fne11: false
-- out/yaml --
eq0: true
eq1: true
eq2: true
eq3: true
eq4: true
eq5: true
eq6: true
eq7: true
eq8: true
eq9: true
eq10: true
eq11: true
ne0: true
ne1: true
ne2: true
ne3: true
ne4: false
ne5: false
ne6: false
ne7: false
ne8: false
ne9: false
ne10: false
ne11: false
feq0: false
feq1: false
feq2: false
feq3: false
feq4: false
feq5: false
feq6: false
feq7: false
feq8: false
feq9: false
feq10: false
feq11: false
fne0: false
fne1: false
fne2: false
fne3: false
fne4: false
fne5: false
fne6: false
fne7: false
fne8: false
fne9: false
fne10: false
fne11: false
-- out/json --
{"eq0":true,"eq1":true,"eq2":true,"eq3":true,"eq4":true,"eq5":true,"eq6":true,"eq7":true,"eq8":true,"eq9":true,"eq10":true,"eq11":true,"ne0":true,"ne1":true,"ne2":true,"ne3":true,"ne4":false,"ne5":false,"ne6":false,"ne7":false,"ne8":false,"ne9":false,"ne10":false,"ne11":false,"feq0":false,"feq1":false,"feq2":false,"feq3":false,"feq4":false,"feq5":false,"feq6":false,"feq7":false,"feq8":false,"feq9":false,"feq10":false,"feq11":false,"fne0":false,"fne1":false,"fne2":false,"fne3":false,"fne4":false,"fne5":false,"fne6":false,"fne7":false,"fne8":false,"fne9":false,"fne10":false,"fne11":false}
-- out/legacy-debug --
<0>{eq0: true, eq1: true, eq2: true, eq3: true, eq4: true, eq5: true, eq6: true, eq7: true, eq8: true, eq9: true, eq10: true, eq11: true, ne0: true, ne1: true, ne2: true, ne3: true, ne4: false, ne5: false, ne6: false, ne7: false, ne8: false, ne9: false, ne10: false, ne11: false, feq0: false, feq1: false, feq2: false, feq3: false, feq4: false, feq5: false, feq6: false, feq7: false, feq8: false, feq9: false, feq10: false, feq11: false, fne0: false, fne1: false, fne2: false, fne3: false, fne4: false, fne5: false, fne6: false, fne7: false, fne8: false, fne9: false, fne10: false, fne11: false}
-- out/compile --
--- in.cue
{
  eq0: ([] == [])
  eq1: ([
    ...,
  ] == [])
  eq2: ([] == [
    ...,
  ])
  eq3: ([
    ...,
  ] == [
    ...,
  ])
  eq4: ([
    1,
  ] == [
    1,
  ])
  eq5: ([
    1,
    ...,
  ] == [
    1,
  ])
  eq6: ([
    1,
  ] == [
    1,
    ...,
  ])
  eq7: ([
    1,
    ...,
  ] == [
    1,
    ...,
  ])
  eq8: ([
    1,
    2,
  ] == [
    1,
    2,
  ])
  eq9: ([
    1,
    2,
    ...,
  ] == [
    1,
    2,
  ])
  eq10: ([
    1,
    2,
  ] == [
    1,
    2,
    ...,
  ])
  eq11: ([
    1,
    2,
    ...,
  ] == [
    1,
    2,
    ...,
  ])
  ne0: ([] != [])
  ne1: ([
    ...,
  ] != [])
  ne2: ([] != [
    ...,
  ])
  ne3: ([
    ...,
  ] != [
    ...,
  ])
  ne4: ([
    1,
  ] != [
    1,
  ])
  ne5: ([
    1,
    ...,
  ] != [
    1,
  ])
  ne6: ([
    1,
  ] != [
    1,
    ...,
  ])
  ne7: ([
    1,
    ...,
  ] != [
    1,
    ...,
  ])
  ne8: ([
    1,
    2,
  ] != [
    1,
    2,
  ])
  ne9: ([
    1,
    2,
    ...,
  ] != [
    1,
    2,
  ])
  ne10: ([
    1,
    2,
  ] != [
    1,
    2,
    ...,
  ])
  ne11: ([
    1,
    2,
    ...,
  ] != [
    1,
    2,
    ...,
  ])
  feq0: ([] == [
    1,
  ])
  feq1: ([
    ...,
  ] == [
    1,
  ])
  feq2: ([] == [
    1,
    ...,
  ])
  feq3: ([
    ...,
  ] == [
    1,
    ...,
  ])
  feq4: ([
    1,
  ] == [])
  feq5: ([
    1,
    ...,
  ] == [])
  feq6: ([
    1,
  ] == [
    ...,
  ])
  feq7: ([
    1,
    ...,
  ] == [
    ...,
  ])
  feq8: ([
    1,
    2,
  ] == [
    1,
  ])
  feq9: ([
    1,
    ...,
  ] == [
    1,
    2,
  ])
  feq10: ([
    1,
    2,
  ] == [
    1,
    ...,
  ])
  feq11: ([
    1,
    ...,
  ] == [
    1,
    2,
    ...,
  ])
  fne0: ([] != [
    1,
  ])
  fne1: ([
    ...,
  ] != [
    1,
  ])
  fne2: ([] != [
    1,
    ...,
  ])
  fne3: ([
    1,
    ...,
  ] != [
    1,
    ...,
  ])
  fne4: ([
    1,
  ] != [])
  fne5: ([
    1,
    ...,
  ] != [])
  fne6: ([
    1,
  ] != [
    ...,
  ])
  fne7: ([
    1,
    ...,
  ] != [
    ...,
  ])
  fne8: ([
    1,
    2,
  ] != [
    1,
  ])
  fne9: ([
    1,
    ...,
  ] != [
    1,
    2,
  ])
  fne10: ([
    1,
    2,
  ] != [
    1,
    ...,
  ])
  fne11: ([
    1,
    ...,
  ] != [
    1,
    2,
    ...,
  ])
}
-- out/eval/stats --
Leaks:  0
Freed:  234
Reused: 229
Allocs: 5
Retain: 96

Unifications: 234
Conjuncts:    234
Disjuncts:    330
-- out/eval --
(struct){
  eq0: (bool){ true }
  eq1: (bool){ true }
  eq2: (bool){ true }
  eq3: (bool){ true }
  eq4: (bool){ true }
  eq5: (bool){ true }
  eq6: (bool){ true }
  eq7: (bool){ true }
  eq8: (bool){ true }
  eq9: (bool){ true }
  eq10: (bool){ true }
  eq11: (bool){ true }
  ne0: (bool){ false }
  ne1: (bool){ false }
  ne2: (bool){ false }
  ne3: (bool){ false }
  ne4: (bool){ false }
  ne5: (bool){ false }
  ne6: (bool){ false }
  ne7: (bool){ false }
  ne8: (bool){ false }
  ne9: (bool){ false }
  ne10: (bool){ false }
  ne11: (bool){ false }
  feq0: (bool){ false }
  feq1: (bool){ false }
  feq2: (bool){ false }
  feq3: (bool){ false }
  feq4: (bool){ false }
  feq5: (bool){ false }
  feq6: (bool){ false }
  feq7: (bool){ false }
  feq8: (bool){ false }
  feq9: (bool){ false }
  feq10: (bool){ false }
  feq11: (bool){ false }
  fne0: (bool){ true }
  fne1: (bool){ true }
  fne2: (bool){ true }
  fne3: (bool){ false }
  fne4: (bool){ true }
  fne5: (bool){ true }
  fne6: (bool){ true }
  fne7: (bool){ true }
  fne8: (bool){ true }
  fne9: (bool){ true }
  fne10: (bool){ true }
  fne11: (bool){ true }
}
