Answer stability round 1: readUnder builds the leaf key once, the pick's comments name the pickKey, and the allocation gate covers a read under a nested pick

This commit is contained in:
2026-10-05 23:36:28 +02:00
committed by Lillem4n
parent 44b6f1ef89
commit 93c96968dc
5 changed files with 11 additions and 11 deletions
+1 -2
View File
@@ -146,8 +146,7 @@ func expand(s *drawstate.State, t *template, sc renderScope) string {
// a level that a read of the name being rendered addresses; every other read draws afresh, so
// {word} {word} draws twice and {p.a} {p.b} reads two draws of p.
// A fresh read clears sc.pick. Kept, a read nested in the fresh one would key the pick's memo by
// sc.pickAt, where in the pick it renders, and share a value with a different
// node at that path.
// sc.pickAt, where in the pick it renders, and share a value with a different node at that key.
func readField(s *drawstate.State, t *template, sc renderScope, a arm) readValue {
switch {
case a.kind == namedRead: