From: Seth Vargo Date: Thu, 19 Jan 2017 18:19:22 +0000 (-0500) Subject: text/template: remove duplicate logic in conditional X-Git-Tag: go1.9beta1~1707 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=50c7783f599d3af0e65f1c301c7ff05f6876def7;p=gostls13.git text/template: remove duplicate logic in conditional 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 TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- diff --git a/src/text/template/exec.go b/src/text/template/exec.go index ea964dc2bc..7d92bd9d36 100644 --- a/src/text/template/exec.go +++ b/src/text/template/exec.go @@ -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) {