]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.typeparams] test: rename blank functions
authorMatthew Dempsky <mdempsky@google.com>
Wed, 28 Jul 2021 19:59:14 +0000 (12:59 -0700)
committerMatthew Dempsky <mdempsky@google.com>
Wed, 28 Jul 2021 21:41:07 +0000 (21:41 +0000)
This CL renames blank functions in the test/ directory so that they
don't rely on the compiler doing anything more than typechecking them.

In particular, I ran this search to find files that used blank
functions and methods:

$ git grep -l '^func.*\b_(' | xargs grep -n '^' | grep '\.go:1:' | grep -v '// errorcheck$'

I then skipped updating a few files:

* blank.go
* fixedbugs/issue11699.go
* fixedbugs/issue29870.go

  These tests specifically check that blank functions/methods work.

* interface/fail.go

  Not sure the motivation for the blank method here, but it's empty
  anyway.

* typeparam/tparam1.go

  Type-checking test, but uses "-G" (to use types2 instead of typecheck).

Updates #47446.

Change-Id: I9ec1714f499808768bd0dcd7ae6016fb2b078e5e
Reviewed-on: https://go-review.googlesource.com/c/go/+/338094
Trust: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
test/escape5.go
test/escape_goto.go
test/fixedbugs/bug267.go
test/fixedbugs/issue22076.go
test/fixedbugs/issue27557.go
test/fixedbugs/issue45258.go
test/fixedbugs/issue8042.go
test/fixedbugs/issue8761.go
test/inline.go
test/typeparam/issue45547.go
test/typeparam/typelist.go

index 97aaf23b2d124df2125c1caceaeb140f150e58ec..089130dad5c73e2163b7fbd3fa0c509ada81c319 100644 (file)
@@ -173,13 +173,13 @@ type U int
 func (*U) M()   {}
 func (_ *U) N() {}
 
-func _() {
+func fbad24305a() {
        var u U
        u.M()
        u.N()
 }
 
-func fbad24305() {
+func fbad24305b() {
        var u U
        (*U).M(&u)
        (*U).N(&u)
index f024a9afe378b256bf51cb0c018b81c23cca19c9..90da5a2151297082b9163b998bae1830c0e36db5 100644 (file)
@@ -10,7 +10,7 @@ package escape
 
 var x bool
 
-func _() {
+func f1() {
        var p *int
 loop:
        if x {
@@ -22,7 +22,7 @@ loop:
        _ = p
 }
 
-func _() {
+func f2() {
        var p *int
        if x {
        loop:
@@ -33,7 +33,7 @@ func _() {
        _ = p
 }
 
-func _() {
+func f3() {
        var p *int
        if x {
        loop:
index cf8bf841f8b1da65e102fab82c413a54b868bb1b..b61216a9d5a93fe746d09f93d43b142c8d91e87f 100644 (file)
@@ -10,7 +10,7 @@ type T []int
 
 var a []bool
 
-func _() {
+func f1() {
        if a[T{42}[0]] {
        }
        // if (a[T{42}[0]]) {}  // this compiles
index 5d628b96bd3a08b574c1a156e72565c5f1115745..b383a674e2f66b02d2bd53ca6306f23f92db45b1 100644 (file)
@@ -13,12 +13,12 @@ import . "bytes"
 
 var _ Reader // use "bytes" import
 
-func _() {
+func f1() {
        Buffer := 0
        _ = Buffer
 }
 
-func _() {
+func f2() {
        for Buffer := range []int{} {
                _ = Buffer
        }
index e35ab5a1690fb03dc01faff01b56a1302ad1f5e6..f609b27faa5e12ddc4e03218c36e5916d4c43271 100644 (file)
@@ -8,19 +8,19 @@ package p
 
 var sink interface{}
 
-func _() {
+func f1() {
        var t T
        f := t.noescape // ERROR "t.noescape does not escape"
        f()
 }
 
-func _() {
+func f2() {
        var t T       // ERROR "moved to heap"
        f := t.escape // ERROR "t.escape does not escape"
        f()
 }
 
-func _() {
+func f3() {
        var t T        // ERROR "moved to heap"
        f := t.returns // ERROR "t.returns does not escape"
        sink = f()
index f4d6fccf17d85d6a6aa8dccae6272dbc782fdfe9..b026c0c8f539c4a62ee7b74f9f7431bf5ff08047 100644 (file)
@@ -22,7 +22,7 @@ func (r *impl) Foo() Barer {
 
 func (r *impl) Bar() {}
 
-func _() {
+func f1() {
        var r Fooer = &impl{}
        r.Foo().Bar()
 }
index 5639f97bb89b946717857925e5ff1624782c2980..be15ef06cd2fd03554cf19292277d2af5f9559eb 100644 (file)
@@ -9,7 +9,7 @@
 
 package p
 
-func _() {
+func f1() {
        goto L1
        const x = 0
 L1:
@@ -18,7 +18,7 @@ L1:
 L2:
 }
 
-func _() {
+func f2() {
        {
                goto L1
        }
@@ -31,7 +31,7 @@ L1:
 L2:
 }
 
-func _(d int) {
+func f3(d int) {
        if d > 0 {
                goto L1
        } else {
index 7f458f7f03378d7343dc1216f14a43d3a00dca3a..e5130e1ff5ca92edad3f7d950093be9ced6d00b0 100644 (file)
 
 package p
 
-func _() {
+func f1() {
        type C chan int
        _ = [1][]C{[]C{make(chan int)}}
 }
 
-func _() {
+func f2() {
        type C interface{}
        _ = [1][]C{[]C{recover()}}
 }
 
-func _() {
+func f3() {
        type C *int
        _ = [1][]C{[]C{new(int)}}
 }
index 2cda07b2da9b0cbb727cff1ea9e88d208730bf4b..a73c0ba7b1da0f185268f35d76801252744a6d25 100644 (file)
@@ -49,7 +49,7 @@ func j(x int) int { // ERROR "can inline j"
        }
 }
 
-func _() int { // ERROR "can inline _"
+func f2() int { // ERROR "can inline f2"
        tmp1 := h
        tmp2 := tmp1
        return tmp2(0) // ERROR "inlining call to h"
@@ -167,7 +167,7 @@ func (T) meth(int, int) {} // ERROR "can inline T.meth"
 
 func k() (T, int, int) { return T{}, 0, 0 } // ERROR "can inline k"
 
-func _() { // ERROR "can inline _"
+func f3() { // ERROR "can inline f3"
        T.meth(k()) // ERROR "inlining call to k" "inlining call to T.meth"
        // ERRORAUTO "inlining call to T.meth"
 }
index 0a08d66b70e1f305edad82503bee5885353c52cd..b354d4d7f64b5fb81f47f7bbdf36e0121c2d418a 100644 (file)
@@ -11,7 +11,7 @@ func f[T any]() (f, g T) { return f, g }
 // Tests for generic function instantiation on the right hande side of multi-value
 // assignments.
 
-func _() {
+func g() {
        // Multi-value assignment within a function
        var _, _ = f[int]()
 }
index 3d035bf4572a62cd96553c53affebe942ab07be9..a68ae1b5cd04e11e8c47e480c97c35a9f75a0b87 100644 (file)
@@ -69,14 +69,14 @@ func _[V any, T interface{ type map[string]V }](p T) V {
 // Cannot embed stand-alone type parameters. Disabled for now.
 /*
 func f0[A any, B interface{type C}, C interface{type D}, D interface{type A}](A, B, C, D)
-func _() {
+func f0x() {
         f := f0[string]
         f("a", "b", "c", "d")
         f0("a", "b", "c", "d")
 }
 
 func f1[A any, B interface{type A}](A, B)
-func _() {
+func f1x() {
         f := f1[int]
         f(int(0), int(0))
         f1(int(0), int(0))
@@ -86,7 +86,7 @@ func _() {
 */
 
 func f2[A any, B interface{ type []A }](_ A, _ B)
-func _() {
+func f2x() {
        f := f2[byte]
        f(byte(0), []byte{})
        f2(byte(0), []byte{})
@@ -97,7 +97,7 @@ func _() {
 // Cannot embed stand-alone type parameters. Disabled for now.
 /*
 func f3[A any, B interface{type C}, C interface{type *A}](a A, _ B, c C)
-func _() {
+func f3x() {
        f := f3[int]
        var x int
        f(x, &x, &x)
@@ -106,7 +106,7 @@ func _() {
 */
 
 func f4[A any, B interface{ type []C }, C interface{ type *A }](_ A, _ B, c C)
-func _() {
+func f4x() {
        f := f4[int]
        var x int
        f(x, []*int{}, &x)
@@ -119,14 +119,14 @@ func f5[A interface {
                c C
        }
 }, B any, C interface{ type *B }](x B) A
-func _() {
+func f5x() {
        x := f5(1.2)
        var _ float64 = x.b
        var _ float64 = *x.c
 }
 
 func f6[A any, B interface{ type struct{ f []A } }](B) A
-func _() {
+func f6x() {
        x := f6(struct{ f []string }{})
        var _ string = x
 }