Sergei Zimmerman (xokdvium) | What's even more cursed is this:
nix::EvalState::eqValues (this=0x555555e8b770, v1=..., v2=..., pos=..., errorCtx="while testing two values for equality") at lix/libexpr/eval.cc:2613
2613 forceValue(v2, pos);
(gdb)
2616 if (v1.type() == nInt && v2.type() == nFloat) {
(gdb)
2619 if (v1.type() == nFloat && v2.type() == nInt) {
(gdb)
2624 if (v1.type() != v2.type()) return false;
(gdb)
2629 auto pointerEq = [&] { return v1.pointerEqProxy() == v2.pointerEqProxy(); };
(gdb)
2631 switch (v1.type()) {
(gdb)
2658 if (pointerEq()) return true;
(gdb)
2661 if (isDerivation(v1) && isDerivation(v2)) {
(gdb)
2669 if (v1.attrs()->size() != v2.attrs()->size()) return false;
(gdb) p v1.attrs()->size()
$1 = 2
(gdb) p v2.attrs()->size()
$2 = 3
It's not equal because the attrset size is incorrect? How???
| 17:21:56 |