Panic in readFold.reads on a node kind it has no case for

This commit is contained in:
2026-09-30 16:57:54 +02:00
committed by Lillem4n
parent 3240f05027
commit e55b9cc89b
2 changed files with 3 additions and 2 deletions
+3
View File
@@ -97,6 +97,9 @@ func (f *readFold) reads(n node) []pathRead {
out = f.rowReads(n.t, func(b *branches, row int) bool { return b.enter(n.t, row) })
case *tableColumn:
out = f.cellReads(n, func(b *branches, row int) bool { return b.enter(n.t, row) })
case *folder, *nullItem:
default:
panic(internalError("reads has no case for node %T", n))
}
out = distinct(out)
f.memo[n] = out
-2
View File
@@ -40,8 +40,6 @@ maintainer chose on 2026-09-30 to go on with the path steps regardless.
This round, in order:
- Give `readFold.reads` a `default` that panics, as every other switch over node kinds
does: a new kind contributes no reads and the draw fence passes it silently.
- Correct `rowReads`' "checkOwnFamily's refusal, which runs first": `checkNodeFences`
runs `checkDrawGroup`, which folds through it, before `checkOwnFamily`.
- Compile each path once at link into steps holding no pointer, with its leaves and