From 6fea4094242fe4e7be8bd7ec0b55df9f6df3f025 Mon Sep 17 00:00:00 2001 From: Rob Pike Date: Fri, 14 Jun 2024 09:48:09 +1000 Subject: text/template/parse: fix handling of assignment/declaration in PipeNode.String The String method for Pipes assumed all variables were declared. Easy fix: check the IsAssign bit. Fixes #65382 Change-Id: I58f2760c1a8bb2821c3538645d893f58fd76ae73 Reviewed-on: https://go-review.googlesource.com/c/go/+/592695 Run-TryBot: Rob Pike Reviewed-by: David Chase Reviewed-by: Ian Lance Taylor Auto-Submit: Rob Pike TryBot-Result: Gopher Robot LUCI-TryBot-Result: Go LUCI Auto-Submit: Ian Lance Taylor --- src/text/template/parse/node.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/text/template/parse/node.go') diff --git a/src/text/template/parse/node.go b/src/text/template/parse/node.go index 23ba9aec2b..a31309874d 100644 --- a/src/text/template/parse/node.go +++ b/src/text/template/parse/node.go @@ -217,7 +217,11 @@ func (p *PipeNode) writeTo(sb *strings.Builder) { } v.writeTo(sb) } - sb.WriteString(" := ") + if p.IsAssign { + sb.WriteString(" = ") + } else { + sb.WriteString(" := ") + } } for i, c := range p.Cmds { if i > 0 { -- cgit v1.3