]> Cypherpunks repositories - gostls13.git/commitdiff
text/template/parse: rename DeferFuncCheck to SkipFuncCheck
authorRuss Cox <rsc@golang.org>
Wed, 5 May 2021 15:22:58 +0000 (11:22 -0400)
committerRuss Cox <rsc@golang.org>
Thu, 6 May 2021 13:39:37 +0000 (13:39 +0000)
The proposal as accepted in #34652 named the bit SkipFuncCheck.
It was renamed to DeferFuncCheck during the code review on a suggestion by Rob,
along with a comment to “defer type checking functions until template is executed,”
but this description is not accurate: the package has never type-checked functions,
only verified their existence. And the effect of the bit in this package is to eliminate
this check entirely, not to defer it to some later time.

I was writing code using this new bit and was very confused about when the
"type checking" was being deferred to and how to stop that entirely,
since in my use case I wanted no checks at all. What I wanted is what the bit does,
it just wasn't named accurately.

Rename back to SkipFuncCheck.

Change-Id: I8e62099c8a904ed04521eb5b86155290f6d5b12f
Reviewed-on: https://go-review.googlesource.com/c/go/+/317269
Trust: Russ Cox <rsc@golang.org>
Trust: Daniel Martí <mvdan@mvdan.cc>
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
api/next.txt
src/text/template/parse/parse.go
src/text/template/parse/parse_test.go

index a6471c7f3aae6d979f18efc717e002084a469b61..9e996005c62d258c58ffcb0ea1172091e1fff5db 100644 (file)
@@ -90,8 +90,8 @@ pkg syscall (windows-amd64), type SysProcAttr struct, AdditionalInheritedHandles
 pkg syscall (windows-amd64), type SysProcAttr struct, ParentProcess Handle
 pkg testing, method (*B) Setenv(string, string)
 pkg testing, method (*T) Setenv(string, string)
-pkg text/template/parse, const DeferFuncCheck = 2
-pkg text/template/parse, const DeferFuncCheck Mode
+pkg text/template/parse, const SkipFuncCheck = 2
+pkg text/template/parse, const SkipFuncCheck Mode
 pkg time, func UnixMicro(int64) Time
 pkg time, func UnixMilli(int64) Time
 pkg time, method (*Time) IsDST() bool
index ff1358b0010f35fe2c406f3be526cded7eee125a..1a63961c13ecce1c892584698d26e54836a1eed4 100644 (file)
@@ -38,8 +38,8 @@ type Tree struct {
 type Mode uint
 
 const (
-       ParseComments  Mode = 1 << iota // parse comments and add them to AST
-       DeferFuncCheck                  // defer type checking functions until template is executed
+       ParseComments Mode = 1 << iota // parse comments and add them to AST
+       SkipFuncCheck                  // do not check that functions are defined
 )
 
 // Copy returns a copy of the Tree. Any parsing state is discarded.
@@ -690,7 +690,7 @@ func (t *Tree) operand() Node {
 func (t *Tree) term() Node {
        switch token := t.nextNonSpace(); token.typ {
        case itemIdentifier:
-               checkFunc := t.Mode&DeferFuncCheck == 0
+               checkFunc := t.Mode&SkipFuncCheck == 0
                if checkFunc && !t.hasFunction(token.val) {
                        t.errorf("function %q not defined", token.val)
                }
index c4585f6912cb42a7dac1e38a189f4c7a702add3b..9b1be272e573d98e38c3da477f50660fdeddd3d0 100644 (file)
@@ -379,12 +379,12 @@ func TestParseWithComments(t *testing.T) {
        }
 }
 
-func TestDeferFuncCheck(t *testing.T) {
+func TestSkipFuncCheck(t *testing.T) {
        oldTextFormat := textFormat
        textFormat = "%q"
        defer func() { textFormat = oldTextFormat }()
-       tr := New("defer func check")
-       tr.Mode = DeferFuncCheck
+       tr := New("skip func check")
+       tr.Mode = SkipFuncCheck
        tmpl, err := tr.Parse("{{fn 1 2}}", "", "", make(map[string]*Tree))
        if err != nil {
                t.Fatalf("unexpected error: %v", err)