]> Cypherpunks repositories - gostls13.git/commitdiff
text/template: remove duplicate logic in conditional
authorSeth Vargo <sethvargo@gmail.com>
Thu, 19 Jan 2017 18:19:22 +0000 (13:19 -0500)
committerIan Lance Taylor <iant@golang.org>
Tue, 7 Feb 2017 15:10:25 +0000 (15:10 +0000)
It looks like this conditional may have been refactored at some point,
but the logic was still very confusing. The outer conditional checks if
the function is variadic, so there's no need to verify that in the
result. Additionally, since the function isn't variadic, there is no
reason to permit the function call if the number of input arguments is
less than the function signature requires.

Change-Id: Ia957cf83d1c900c08dd66384efcb74f0c368422e
Reviewed-on: https://go-review.googlesource.com/35491
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/text/template/exec.go

index ea964dc2bcd413873e8945dabd34750a4e3ed7d5..7d92bd9d36e470ad32d939edc2bf8aca6a7137d0 100644 (file)
@@ -628,7 +628,7 @@ func (s *state) evalCall(dot, fun reflect.Value, node parse.Node, name string, a
                if numIn < numFixed {
                        s.errorf("wrong number of args for %s: want at least %d got %d", name, typ.NumIn()-1, len(args))
                }
-       } else if numIn < typ.NumIn()-1 || !typ.IsVariadic() && numIn != typ.NumIn() {
+       } else if numIn != typ.NumIn() {
                s.errorf("wrong number of args for %s: want %d got %d", name, typ.NumIn(), len(args))
        }
        if !goodFunc(typ) {