summaryrefslogtreecommitdiff
path: root/src/text
diff options
context:
space:
mode:
Diffstat (limited to 'src/text')
-rw-r--r--src/text/template/exec.go2
-rw-r--r--src/text/template/exec_test.go12
2 files changed, 13 insertions, 1 deletions
diff --git a/src/text/template/exec.go b/src/text/template/exec.go
index f6eed662b..b00e10c7e 100644
--- a/src/text/template/exec.go
+++ b/src/text/template/exec.go
@@ -546,7 +546,7 @@ func (s *state) evalCall(dot, fun reflect.Value, node parse.Node, name string, a
argv := make([]reflect.Value, numIn)
// Args must be evaluated. Fixed args first.
i := 0
- for ; i < numFixed; i++ {
+ for ; i < numFixed && i < len(args); i++ {
argv[i] = s.evalArg(dot, typ.In(i), args[i])
}
// Now the ... args.
diff --git a/src/text/template/exec_test.go b/src/text/template/exec_test.go
index e2cf2d370..69c213ed2 100644
--- a/src/text/template/exec_test.go
+++ b/src/text/template/exec_test.go
@@ -893,6 +893,18 @@ func TestMessageForExecuteEmpty(t *testing.T) {
}
}
+func TestFinalForPrintf(t *testing.T) {
+ tmpl, err := New("").Parse(`{{"x" | printf}}`)
+ if err != nil {
+ t.Fatal(err)
+ }
+ var b bytes.Buffer
+ err = tmpl.Execute(&b, 0)
+ if err != nil {
+ t.Fatal(err)
+ }
+}
+
type cmpTest struct {
expr string
truth string