aboutsummaryrefslogtreecommitdiff
path: root/src/text/template/exec.go
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2014-09-22 17:48:13 -0700
committerRob Pike <r@golang.org>2014-09-22 17:48:13 -0700
commit5d5e73b14a46178a636b20f45ed8f8fae0177dee (patch)
tree05e1ff235cc78c42847dc2e8cbfd4ec5d9fee7dd /src/text/template/exec.go
parent892b5074f521ae812b880808e0bd79ee2a02b1a1 (diff)
downloadgo-5d5e73b14a46178a636b20f45ed8f8fae0177dee.tar.xz
text/template: type-check chained node as argument
Was just a missing case (literally) in the type checker. Fixes #8473. LGTM=adg R=golang-codereviews, adg CC=golang-codereviews https://golang.org/cl/142460043
Diffstat (limited to 'src/text/template/exec.go')
-rw-r--r--src/text/template/exec.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/text/template/exec.go b/src/text/template/exec.go
index 8e155d478e..f6eed662b7 100644
--- a/src/text/template/exec.go
+++ b/src/text/template/exec.go
@@ -636,6 +636,8 @@ func (s *state) evalArg(dot reflect.Value, typ reflect.Type, n parse.Node) refle
return s.validateType(s.evalPipeline(dot, arg), typ)
case *parse.IdentifierNode:
return s.evalFunction(dot, arg, arg, nil, zero)
+ case *parse.ChainNode:
+ return s.validateType(s.evalChainNode(dot, arg, nil, zero), typ)
}
switch typ.Kind() {
case reflect.Bool: