]> Cypherpunks.ru repositories - gostls13.git/commitdiff
[dev.typeparams] test: enable some more errorcheck tests
authorRobert Griesemer <gri@golang.org>
Fri, 4 Dec 2020 02:15:50 +0000 (18:15 -0800)
committerRobert Griesemer <gri@golang.org>
Fri, 4 Dec 2020 21:22:23 +0000 (21:22 +0000)
Change-Id: I103e3eeacd5b11efd63c965482a626878ba5ac81
Reviewed-on: https://go-review.googlesource.com/c/go/+/275216
Trust: Robert Griesemer <gri@golang.org>
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
29 files changed:
test/copy1.go
test/fixedbugs/issue10975.go
test/fixedbugs/issue11361.go
test/fixedbugs/issue11371.go
test/fixedbugs/issue8385.go
test/fixedbugs/issue8438.go
test/fixedbugs/issue8440.go
test/fixedbugs/issue8745.go
test/fixedbugs/issue9083.go
test/fixedbugs/issue9370.go
test/fixedbugs/issue9432.go
test/fixedbugs/issue9521.go
test/fixedbugs/issue9634.go
test/func1.go
test/funcdup.go
test/funcdup2.go
test/init.go
test/initloop.go
test/makenew.go
test/map1.go
test/method2.go
test/method6.go
test/named1.go
test/rename1.go
test/run.go
test/runtime.go
test/typecheckloop.go
test/typeswitch3.go
test/varerr.go

index e1fa105584a1d6ac30c447abaafa0b01a0b4fdb3..c0760f71904879206c81a7bbc6e7e45d27f58b85 100644 (file)
@@ -17,11 +17,11 @@ func main() {
        _ = copy()        // ERROR "not enough arguments"
        _ = copy(1, 2, 3) // ERROR "too many arguments"
 
-       _ = copy(si, "hi") // ERROR "have different element types.*int.*string"
+       _ = copy(si, "hi") // ERROR "have different element types(.*int.*string| int and byte)"
        _ = copy(si, sf)   // ERROR "have different element types.*int.*float64"
 
-       _ = copy(1, 2)  // ERROR "must be slices; have int, int"
-       _ = copy(1, si) // ERROR "first argument to copy should be"
-       _ = copy(si, 2) // ERROR "second argument to copy should be"
+       _ = copy(1, 2)  // ERROR "must be slices; have int, int|expects slice arguments"
+       _ = copy(1, si) // ERROR "first argument to copy should be|expects slice arguments"
+       _ = copy(si, 2) // ERROR "second argument to copy should be|expects slice arguments"
 
 }
index b5f043f0a7329c939cea05cc9bcb0bd545d2bcd9..415b71b945781e3ee4a5e25b5a0abc81408b74d5 100644 (file)
@@ -10,7 +10,7 @@
 package main
 
 type I interface {
-       int // ERROR "interface contains embedded non-interface int"
+       int // ERROR "interface contains embedded non-interface int|not an interface"
 }
 
 func New() I {
index 1260ea89c91ebaf9205f106fe8e21ed4ac33b5fd..2544adb55be6d3960ceeef1b8f7e81d4ae30b428 100644 (file)
@@ -6,6 +6,6 @@
 
 package a
 
-import "fmt"  // ERROR "imported and not used"
+import "fmt"  // ERROR "imported and not used|imported but not used"
 
-const n = fmt // ERROR "fmt without selector"
+const n = fmt // ERROR "fmt without selector|not in selector"
index b2d966fac8f3e68b01fd731da8a7f39120906b77..c0fc11768741fb656608aa3174f28753cb91771e 100644 (file)
@@ -9,9 +9,9 @@
 
 package issue11371
 
-const a int = 1.1        // ERROR "constant 1.1 truncated to integer"
-const b int = 1e20       // ERROR "overflows int"
-const c int = 1 + 1e-100 // ERROR "constant truncated to integer"
-const d int = 1 - 1e-100 // ERROR "constant truncated to integer"
-const e int = 1.00000001 // ERROR "constant truncated to integer"
-const f int = 0.00000001 // ERROR "constant 1e-08 truncated to integer"
+const a int = 1.1        // ERROR "constant 1.1 truncated to integer|truncated to int"
+const b int = 1e20       // ERROR "overflows int|truncated to int"
+const c int = 1 + 1e-100 // ERROR "constant truncated to integer|truncated to int"
+const d int = 1 - 1e-100 // ERROR "constant truncated to integer|truncated to int"
+const e int = 1.00000001 // ERROR "constant truncated to integer|truncated to int"
+const f int = 0.00000001 // ERROR "constant 1e-08 truncated to integer|truncated to int"
index 6447e9f0e862924b865047f027e6f9ccc7fbd12a..d8094fe7a779faabcabc1076b72e5e66ed311b46 100644 (file)
@@ -27,7 +27,7 @@ func (t T) M(x int) {
 func g() func(int)
 
 func main() {
-       Fooer.Foo(5, 6) // ERROR "not enough arguments in call to method expression Fooer.Foo"
+       Fooer.Foo(5, 6) // ERROR "not enough arguments in call to method expression Fooer.Foo|not enough arguments in call"
 
        var i I
        var t *T
@@ -35,8 +35,8 @@ func main() {
        g()()    // ERROR "not enough arguments in call to g\(\)"
        f()      // ERROR "not enough arguments in call to f"
        i.M()    // ERROR "not enough arguments in call to i\.M"
-       I.M()    // ERROR "not enough arguments in call to method expression I\.M"
+       I.M()    // ERROR "not enough arguments in call to method expression I\.M|not enough arguments in call"
        t.M()    // ERROR "not enough arguments in call to t\.M"
-       T.M()    // ERROR "not enough arguments in call to method expression T\.M"
-       (*T).M() // ERROR "not enough arguments in call to method expression \(\*T\)\.M"
+       T.M()    // ERROR "not enough arguments in call to method expression T\.M|not enough arguments in call"
+       (*T).M() // ERROR "not enough arguments in call to method expression \(\*T\)\.M|not enough arguments in call"
 }
index 3a4f193b57df33ee3f73413c70c42fc566bee210..1a223e701fd061c2f2ae17e54171addb5fe9c1a3 100644 (file)
@@ -10,8 +10,8 @@
 package main
 
 func main() {
-       _ = []byte{"foo"}   // ERROR "cannot use"
-       _ = []int{"foo"}    // ERROR "cannot use"
-       _ = []rune{"foo"}   // ERROR "cannot use"
+       _ = []byte{"foo"}   // ERROR "cannot use|cannot convert"
+       _ = []int{"foo"}    // ERROR "cannot use|cannot convert"
+       _ = []rune{"foo"}   // ERROR "cannot use|cannot convert"
        _ = []string{"foo"} // OK
 }
index f9b1dea3ebff209b985596d3c6bd0e8e2b413491..da482b44835b09d04de88549ba513aa06717ff4b 100644 (file)
@@ -7,5 +7,5 @@
 package main
 
 func main() {
-       n.foo = 6 // ERROR "undefined: n in n.foo"
+       n.foo = 6 // ERROR "undefined: n in n.foo|undefined: n"
 }
index fee2ca7ce0574a5716f4bdcb75b848b12944c0dd..c2d00a7ebd4be0a802cd4aa466a1bb6a149bc681 100644 (file)
@@ -9,5 +9,5 @@
 package p
 
 func f(s string) {
-       var _ float64 = s[2] // ERROR "cannot use.*type byte.*as type float64"
+       var _ float64 = s[2] // ERROR "cannot use.*type byte.*as type float64|cannot use .* as float64 value"
 }
index 8fbd78be7a744cfb0e312de0933e1a29a040cc69..f7e6388de88fde385a5f2e67b444a72023008d18 100644 (file)
@@ -13,6 +13,7 @@ const zero = 0
 
 func main() {
        var x int
+       _ = x
        x = make(map[int]int) // ERROR "cannot use make\(map\[int\]int\)|incompatible"
        x = make(map[int]int, 0) // ERROR "cannot use make\(map\[int\]int, 0\)|incompatible"
        x = make(map[int]int, zero) // ERROR "cannot use make\(map\[int\]int, zero\)|incompatible"
index 120af35397628719a35811da9b5c6e376cafb0c7..4724b6e2d9bae8d7e9ffc729e19d9f9e2de75c4d 100644 (file)
@@ -67,12 +67,12 @@ var (
        _ = 1 != e
        _ = 1 >= e // ERROR "invalid operation.*not defined"
 
-       _ = i == 1 // ERROR "invalid operation.*mismatched types"
-       _ = i != 1 // ERROR "invalid operation.*mismatched types"
-       _ = i >= 1 // ERROR "invalid operation.*mismatched types"
-       _ = 1 == i // ERROR "invalid operation.*mismatched types"
-       _ = 1 != i // ERROR "invalid operation.*mismatched types"
-       _ = 1 >= i // ERROR "invalid operation.*mismatched types"
+       _ = i == 1 // ERROR "invalid operation.*mismatched types|cannot convert"
+       _ = i != 1 // ERROR "invalid operation.*mismatched types|cannot convert"
+       _ = i >= 1 // ERROR "invalid operation.*mismatched types|cannot convert"
+       _ = 1 == i // ERROR "invalid operation.*mismatched types|cannot convert"
+       _ = 1 != i // ERROR "invalid operation.*mismatched types|cannot convert"
+       _ = 1 >= i // ERROR "invalid operation.*mismatched types|cannot convert"
 
        _ = e == f // ERROR "invalid operation.*not defined"
        _ = e != f // ERROR "invalid operation.*not defined"
index e8946a5be25cbd190674cc89e85b44af26bc89a6..3df3b9097b57ed67fa7196aa664411b3f4f8f4d1 100644 (file)
@@ -9,7 +9,7 @@
 // See golang.org/issue/9432.
 package p
 
-type foo struct { // ERROR "invalid recursive type"
+type foo struct { // ERROR "invalid recursive type|cycle"
        bar  foo
        blah foo
 }
index a33f0483f322862eef2ba5a9b2567909b7aff010..7cb1ef1f8e58ad9df93c4715238c12e9dc6dad0e 100644 (file)
@@ -13,6 +13,6 @@ func f() (_, _ []int)         { return }
 func g() (x []int, y float64) { return }
 
 func main() {
-       _ = append(f()) // ERROR "cannot use \[\]int value as type int in append"
-       _ = append(g()) // ERROR "cannot use float64 value as type int in append"
+       _ = append(f()) // ERROR "cannot use \[\]int value as type int in append|cannot use .* as int value"
+       _ = append(g()) // ERROR "cannot use float64 value as type int in append|cannot use .* as int value"
 }
index 2d5aae4a30e6c4c32b3c65562e79afd86bac342f..86e3e9a2dfd42d215610cf3155da2afd8f1677a6 100644 (file)
@@ -14,5 +14,5 @@ func main() {
                t []int
                u int
        }{}
-       _ = append(s, 0) // ERROR "must be a slice|must be slice"
+       _ = append(s, 0) // ERROR "must be a slice|must be slice|not a slice"
 }
index fb6f56184fac2b683efd4c9f7d77856cf582a68b..ec25161d13c675c61bb6b21ffc8310a262a80c5f 100644 (file)
@@ -14,6 +14,6 @@ func f1(a int) (int, float32) {
 }
 
 
-func f2(a int) (a int, b float32) { // ERROR "duplicate argument a|definition"
+func f2(a int) (a int, b float32) { // ERROR "duplicate argument a|definition|redeclared"
        return 8, 8.0
 }
index 7b05d1260664f168126929f8092c4031b09566bb..3dbb15b0d4949167e65b0bdda0daea83825c62d7 100644 (file)
@@ -7,21 +7,21 @@
 package p
 
 type T interface {
-       F1(i int) (i int) // ERROR "duplicate argument i|redefinition|previous"
-       F2(i, i int) // ERROR "duplicate argument i|redefinition|previous"
-       F3() (i, i int) // ERROR "duplicate argument i|redefinition|previous"
+       F1(i int) (i int) // ERROR "duplicate argument i|redefinition|previous|redeclared"
+       F2(i, i int) // ERROR "duplicate argument i|redefinition|previous|redeclared"
+       F3() (i, i int) // ERROR "duplicate argument i|redefinition|previous|redeclared"
 }
 
-type T1 func(i, i int) // ERROR "duplicate argument i|redefinition|previous"
-type T2 func(i int) (i int) // ERROR "duplicate argument i|redefinition|previous"
-type T3 func() (i, i int) // ERROR "duplicate argument i|redefinition|previous"
+type T1 func(i, i int) // ERROR "duplicate argument i|redefinition|previous|redeclared"
+type T2 func(i int) (i int) // ERROR "duplicate argument i|redefinition|previous|redeclared"
+type T3 func() (i, i int) // ERROR "duplicate argument i|redefinition|previous|redeclared"
 
 type R struct{}
 
-func (i *R) F1(i int)         {} // ERROR "duplicate argument i|redefinition|previous"
-func (i *R) F2() (i int)      {return 0} // ERROR "duplicate argument i|redefinition|previous"
-func (i *R) F3(j int) (j int) {return 0} // ERROR "duplicate argument j|redefinition|previous"
+func (i *R) F1(i int)         {} // ERROR "duplicate argument i|redefinition|previous|redeclared"
+func (i *R) F2() (i int)      {return 0} // ERROR "duplicate argument i|redefinition|previous|redeclared"
+func (i *R) F3(j int) (j int) {return 0} // ERROR "duplicate argument j|redefinition|previous|redeclared"
 
-func F1(i, i int)      {} // ERROR "duplicate argument i|redefinition|previous"
-func F2(i int) (i int) {return 0} // ERROR "duplicate argument i|redefinition|previous"
-func F3() (i, i int)   {return 0, 0} // ERROR "duplicate argument i|redefinition|previous"
+func F1(i, i int)      {} // ERROR "duplicate argument i|redefinition|previous|redeclared"
+func F2(i int) (i int) {return 0} // ERROR "duplicate argument i|redefinition|previous|redeclared"
+func F3() (i, i int)   {return 0, 0} // ERROR "duplicate argument i|redefinition|previous|redeclared"
index 9513ef46bdd6f252e30878de05dd0b6274d42875..2ee3024e5ccd91fc0b4abc3242c102eecc63fd58 100644 (file)
@@ -7,11 +7,11 @@
 package p
 
 var T interface {
-       F1(i int) (i int) // ERROR "duplicate argument i|redefinition|previous"
-       F2(i, i int) // ERROR "duplicate argument i|redefinition|previous"
-       F3() (i, i int) // ERROR "duplicate argument i|redefinition|previous"
+       F1(i int) (i int) // ERROR "duplicate argument i|redefinition|previous|redeclared"
+       F2(i, i int) // ERROR "duplicate argument i|redefinition|previous|redeclared"
+       F3() (i, i int) // ERROR "duplicate argument i|redefinition|previous|redeclared"
 }
 
-var T1 func(i, i int) // ERROR "duplicate argument i|redefinition|previous"
-var T2 func(i int) (i int) // ERROR "duplicate argument i|redefinition|previous"
-var T3 func() (i, i int) // ERROR "duplicate argument i|redefinition|previous"
+var T1 func(i, i int) // ERROR "duplicate argument i|redefinition|previous|redeclared"
+var T2 func(i int) (i int) // ERROR "duplicate argument i|redefinition|previous|redeclared"
+var T3 func() (i, i int) // ERROR "duplicate argument i|redefinition|previous|redeclared"
index 317f2472cb82c3cb6990f37f3e5a33f660626404..c2c25c7860353018310d645681a59161c0f76cb9 100644 (file)
@@ -14,6 +14,6 @@ func init() {
 
 func main() {
        init()         // ERROR "undefined.*init"
-       runtime.init() // ERROR "undefined.*runtime\.init"
+       runtime.init() // ERROR "undefined.*runtime\.init|undefined: runtime"
        var _ = init   // ERROR "undefined.*init"
 }
index d90395d7535bf88f80358422798bc883318c01cc..ca652f86f49e208e4e40904eb3e7b146e5df7ff2 100644 (file)
@@ -11,7 +11,7 @@ package main
 
 var (
        x int = a
-       a int = b // ERROR "a refers to\n.*b refers to\n.*c refers to\n.*a"
+       a int = b // ERROR "a refers to\n.*b refers to\n.*c refers to\n.*a|initialization cycle"
        b int = c
        c int = a
 )
index 058d975898251c590d2b38d6d9dba1769b9f1ad3..14854dcf0c8fe70e4ae766cbdf74b9ee3a612d4f 100644 (file)
 package main
 
 func main() {
-       _ = make()      // ERROR "missing argument"
-       _ = make(int)   // ERROR "cannot make type"
-       _ = make([]int) // ERROR "missing len argument"
+       _ = make()      // ERROR "missing argument|not enough arguments"
+       _ = make(int)   // ERROR "cannot make type|cannot make int"
+       _ = make([]int) // ERROR "missing len argument|expects 2 or 3 arguments"
 
-       _ = new()       // ERROR "missing argument"
+       _ = new()       // ERROR "missing argument|not enough arguments"
        _ = new(int, 2) // ERROR "too many arguments"
 }
index 498c2ec45bd88c717d68d37b23dbfc97d3aafb4d..bd4d87b8718fe15b27f63f44d46900eb7c57c92d 100644 (file)
@@ -61,8 +61,8 @@ type T8 struct { F *T7 }
 
 func main() {
        m := make(map[int]int)
-       delete()        // ERROR "missing arguments"
-       delete(m)       // ERROR "missing second \(key\) argument"
+       delete()        // ERROR "missing arguments|not enough arguments"
+       delete(m)       // ERROR "missing second \(key\) argument|not enough arguments"
        delete(m, 2, 3) // ERROR "too many arguments"
-       delete(1, m)    // ERROR "first argument to delete must be map"
+       delete(1, m)    // ERROR "first argument to delete must be map|is not a map"
 }
\ No newline at end of file
index a45a943156ffab6fa7e106bf3beffe9c4a19c4ff..790062c2afbb68ab5306a1c81d54e21f4733825c 100644 (file)
@@ -15,8 +15,8 @@ type T struct {
 type P *T
 type P1 *T
 
-func (p P) val() int   { return 1 } // ERROR "receiver.* pointer|invalid pointer or interface receiver"
-func (p *P1) val() int { return 1 } // ERROR "receiver.* pointer|invalid pointer or interface receiver"
+func (p P) val() int   { return 1 } // ERROR "receiver.* pointer|invalid pointer or interface receiver|invalid receiver"
+func (p *P1) val() int { return 1 } // ERROR "receiver.* pointer|invalid pointer or interface receiver|invalid receiver"
 
 type I interface{}
 type I1 interface{}
@@ -38,4 +38,4 @@ var _ = pv.val   // ERROR "pv.val undefined"
 
 func (t *T) g() int { return t.a }
 
-var _ = (T).g() // ERROR "needs pointer receiver|undefined"
+var _ = (T).g() // ERROR "needs pointer receiver|undefined|cannot call pointer method"
index 20eccce413a10c838864ef9822b68e29c365d56f..ede3467c5c26c3aa558dbe3e2a763b66f775f457 100644 (file)
@@ -18,5 +18,5 @@ func (*B) g() {}
 
 var _ = func() {
        var a A
-       A(a).g() // ERROR "cannot call pointer method on|cannot take the address of"
+       A(a).g() // ERROR "cannot call pointer method .*on|cannot take the address of"
 }
index 7feae13b9d7045f9cd405ad13dbc559df56a7695..452c6da27e259c543fc9833578a0a1bc63bff7b8 100644 (file)
@@ -54,7 +54,7 @@ func main() {
        _ = b
 
        _, bb := <-c
-       asBool(bb) // ERROR "cannot use.*type bool.*as type Bool"
+       asBool(bb) // ERROR "cannot use.*type bool.*as type Bool|cannot use bb"
        _, b = <-c // ok now
        _ = b
 
index c49a70a263d11f064c33323c77a5e7838bf0ce80..058db4494a06b56a75bc516ad1519f70c8966bd7 100644 (file)
@@ -13,7 +13,7 @@ func main() {
        var n byte         // ERROR "not a type|expected type"
        var y = float32(0) // ERROR "cannot call|expected function"
        const (
-               a = 1 + iota // ERROR "invalid operation|incompatible types"
+               a = 1 + iota // ERROR "invalid operation|incompatible types|cannot convert"
        )
 
 }
index 0a69fa62bcc97fecb09d26f99ec22746d7058403..0ffb2c1a3da0fbe343148a3f772a99ea11d4cd81 100644 (file)
@@ -740,6 +740,9 @@ func (t *test) run() {
                        t.updateErrors(string(out), long)
                }
                t.err = t.errorCheck(string(out), wantAuto, long, t.gofile)
+               if t.err != nil {
+                       return // don't hide error if run below succeeds
+               }
 
                // The following is temporary scaffolding to get types2 typechecker
                // up and running against the existing test cases. The explicitly
@@ -765,6 +768,7 @@ func (t *test) run() {
                for _, flag := range flags {
                        for _, pattern := range []string{
                                "-+",
+                               "-0",
                                "-m",
                                "-live",
                                "wb",
@@ -773,6 +777,7 @@ func (t *test) run() {
                                "typeassert",
                                "ssa/check_bce/debug",
                                "ssa/intrinsics/debug",
+                               "ssa/opt/debug",
                                "ssa/prove/debug",
                                "ssa/likelyadjust/debug",
                                "ssa/insert_resched_checks/off",
@@ -1916,44 +1921,26 @@ func overlayDir(dstRoot, srcRoot string) error {
 // List of files that the compiler cannot errorcheck with the new typechecker (compiler -G option).
 // Temporary scaffolding until we pass all the tests at which point this map can be removed.
 var excluded = map[string]bool{
-       "complit1.go":      true,
-       "const2.go":        true,
-       "convlit.go":       true,
-       "copy1.go":         true,
-       "ddd1.go":          true,
-       "devirt.go":        true,
-       "directive.go":     true,
-       "float_lit3.go":    true,
-       "func1.go":         true,
-       "funcdup.go":       true,
-       "funcdup2.go":      true,
-       "import1.go":       true,
-       "import5.go":       true,
-       "import6.go":       true,
-       "init.go":          true,
-       "initializerr.go":  true,
-       "initloop.go":      true,
-       "makechan.go":      true,
-       "makemap.go":       true,
-       "makenew.go":       true,
-       "map1.go":          true,
-       "method2.go":       true,
-       "method6.go":       true,
-       "named1.go":        true,
-       "rename1.go":       true,
-       "runtime.go":       true,
-       "shift1.go":        true,
-       "slice3err.go":     true,
-       "switch3.go":       true,
-       "switch4.go":       true,
-       "switch5.go":       true,
-       "switch6.go":       true,
-       "switch7.go":       true,
-       "typecheck.go":     true,
-       "typecheckloop.go": true,
-       "typeswitch3.go":   true,
-       "undef.go":         true,
-       "varerr.go":        true,
+       "complit1.go":     true,
+       "const2.go":       true,
+       "convlit.go":      true,
+       "ddd1.go":         true, // issue #42987
+       "directive.go":    true, // misplaced compiler directive checks
+       "float_lit3.go":   true,
+       "import1.go":      true,
+       "import5.go":      true, // issue #42988
+       "import6.go":      true,
+       "initializerr.go": true,
+       "makechan.go":     true,
+       "makemap.go":      true,
+       "shift1.go":       true, // issue #42989
+       "slice3err.go":    true,
+       "switch3.go":      true,
+       "switch4.go":      true,
+       "switch5.go":      true,
+       "switch6.go":      true,
+       "switch7.go":      true,
+       "typecheck.go":    true, // invalid function is not causing errors when called
 
        "fixedbugs/bug163.go":      true,
        "fixedbugs/bug176.go":      true,
@@ -1994,11 +1981,8 @@ var excluded = map[string]bool{
        "fixedbugs/bug462.go":      true,
        "fixedbugs/bug463.go":      true,
        "fixedbugs/bug487.go":      true,
-       "fixedbugs/issue10975.go":  true,
        "fixedbugs/issue11326.go":  true,
-       "fixedbugs/issue11361.go":  true,
        "fixedbugs/issue11362.go":  true,
-       "fixedbugs/issue11371.go":  true,
        "fixedbugs/issue11590.go":  true,
        "fixedbugs/issue11610.go":  true,
        "fixedbugs/issue11614.go":  true,
@@ -2148,14 +2132,5 @@ var excluded = map[string]bool{
        "fixedbugs/issue7746.go":   true, // type-checking doesn't terminate
        "fixedbugs/issue8501.go":   true, // crashes
        "fixedbugs/issue8507.go":   true, // crashes
-       "fixedbugs/issue8183.go":   true,
-       "fixedbugs/issue8385.go":   true,
-       "fixedbugs/issue8438.go":   true,
-       "fixedbugs/issue8440.go":   true,
-       "fixedbugs/issue8745.go":   true,
-       "fixedbugs/issue9083.go":   true,
-       "fixedbugs/issue9370.go":   true,
-       "fixedbugs/issue9432.go":   true,
-       "fixedbugs/issue9521.go":   true,
-       "fixedbugs/issue9634.go":   true,
+       "fixedbugs/issue8183.go":   true, // issue #42992
 }
index bccc9b53afc021950284370cc95834b9aae147d2..a833129dd6536278d0b7e2b2ca32b8b658f41401 100644 (file)
@@ -17,5 +17,5 @@ package main
 import "runtime"
 
 func main() {
-       runtime.printbool(true) // ERROR "unexported"
+       runtime.printbool(true) // ERROR "unexported|not declared"
 }
index 3b3e78858e033e61d93b3701b36e60fe979d5d2d..a143e0984ce79a7ba437a1b113364aa99e7e83a2 100644 (file)
@@ -9,6 +9,6 @@
 
 package main
 
-const A = 1 + B // ERROR "constant definition loop\n.*A uses B\n.*B uses C\n.*C uses A"
-const B = C - 1 // ERROR "constant definition loop\n.*B uses C\n.*C uses B"
+const A = 1 + B // ERROR "constant definition loop\n.*A uses B\n.*B uses C\n.*C uses A|initialization cycle"
+const B = C - 1 // ERROR "constant definition loop\n.*B uses C\n.*C uses B|initialization cycle"
 const C = A + B + 1
index 138818756672dac8f08aafe2e4aef28d39aedbc0..a57889bc1dee4f66dd7276e746812f8dd6817938 100644 (file)
@@ -36,13 +36,13 @@ func main() {
        }
 
        // Issue 2827.
-       switch _ := r.(type) { // ERROR "invalid variable name _|no new variables"
+       switch _ := r.(type) { // ERROR "invalid variable name _|no new variables?"
        }
 }
 
 func noninterface() {
        var i int
-       switch i.(type) { // ERROR "cannot type switch on non-interface value"
+       switch i.(type) { // ERROR "cannot type switch on non-interface value|not an interface type"
        case string:
        case int:
        }
@@ -51,6 +51,6 @@ func noninterface() {
                name string
        }
        var s S
-       switch s.(type) { // ERROR "cannot type switch on non-interface value"
+       switch s.(type) { // ERROR "cannot type switch on non-interface value|not an interface type"
        }
 }
index 82ab814197dc6f135783ba40cb7dc66a412c5053..349cc8b4e3b546ba971a42116ae2d2262c2ac932 100644 (file)
@@ -12,6 +12,6 @@ package main
 func main() {
        _ = asdf        // ERROR "undefined.*asdf"
 
-       new = 1 // ERROR "use of builtin new not in function call|invalid left hand side"
+       new = 1 // ERROR "use of builtin new not in function call|invalid left hand side|must be called"
 }