[dev.typeparams] cmd/compile/internal/types2: adjusted qualified identifier error message for compiler
Also: Triaged/adjusted some more test/fixedbugs tests.
Change-Id: I050847b6dfccc7f301f8100bfdbe84e0487e33fc
Reviewed-on: https://go-review.googlesource.com/c/go/+/276512
Trust: Robert Griesemer <gri@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
diff --git a/test/fixedbugs/issue11326.go b/test/fixedbugs/issue11326.go
index 82754c7..f6cb109 100644
--- a/test/fixedbugs/issue11326.go
+++ b/test/fixedbugs/issue11326.go
@@ -18,14 +18,14 @@
// Any implementation must be able to handle these constants at
// compile time (even though they cannot be assigned to a float64).
- var _ = 1e646456992 // ERROR "1e\+646456992 overflows float64"
- var _ = 1e64645699 // ERROR "1e\+64645699 overflows float64"
- var _ = 1e6464569 // ERROR "1e\+6464569 overflows float64"
- var _ = 1e646456 // ERROR "1e\+646456 overflows float64"
- var _ = 1e64645 // ERROR "1e\+64645 overflows float64"
- var _ = 1e6464 // ERROR "1e\+6464 overflows float64"
- var _ = 1e646 // ERROR "1e\+646 overflows float64"
- var _ = 1e309 // ERROR "1e\+309 overflows float64"
+ var _ = 1e646456992 // ERROR "1e\+?646456992 .*overflows float64"
+ var _ = 1e64645699 // ERROR "1e\+?64645699 .*overflows float64"
+ var _ = 1e6464569 // ERROR "1e\+?6464569 .*overflows float64"
+ var _ = 1e646456 // ERROR "1e\+?646456 .*overflows float64"
+ var _ = 1e64645 // ERROR "1e\+?64645 .*overflows float64"
+ var _ = 1e6464 // ERROR "1e\+?6464 .*overflows float64"
+ var _ = 1e646 // ERROR "1e\+?646 .*overflows float64"
+ var _ = 1e309 // ERROR "1e\+?309 .*overflows float64"
var _ = 1e308
}
diff --git a/test/fixedbugs/issue11674.go b/test/fixedbugs/issue11674.go
index e7d0bf2..62e8e8f 100644
--- a/test/fixedbugs/issue11674.go
+++ b/test/fixedbugs/issue11674.go
@@ -13,28 +13,28 @@
const y complex128 = 0
var _ = x / 1e-20
-var _ = x / 1e-50 // ERROR "complex division by zero"
-var _ = x / 1e-1000 // ERROR "complex division by zero"
+var _ = x / 1e-50 // ERROR "(complex )?division by zero"
+var _ = x / 1e-1000 // ERROR "(complex )?division by zero"
var _ = x / 1e-20i
-var _ = x / 1e-50i // ERROR "complex division by zero"
-var _ = x / 1e-1000i // ERROR "complex division by zero"
+var _ = x / 1e-50i // ERROR "(complex )?division by zero"
+var _ = x / 1e-1000i // ERROR "(complex )?division by zero"
var _ = x / 1e-45 // smallest positive float32
var _ = x / (1e-20 + 1e-20i)
var _ = x / (1e-50 + 1e-20i)
var _ = x / (1e-20 + 1e-50i)
-var _ = x / (1e-50 + 1e-50i) // ERROR "complex division by zero"
-var _ = x / (1e-1000 + 1e-1000i) // ERROR "complex division by zero"
+var _ = x / (1e-50 + 1e-50i) // ERROR "(complex )?division by zero"
+var _ = x / (1e-1000 + 1e-1000i) // ERROR "(complex )?division by zero"
var _ = y / 1e-50
-var _ = y / 1e-1000 // ERROR "complex division by zero"
+var _ = y / 1e-1000 // ERROR "(complex )?division by zero"
var _ = y / 1e-50i
-var _ = y / 1e-1000i // ERROR "complex division by zero"
+var _ = y / 1e-1000i // ERROR "(complex )?division by zero"
var _ = y / 5e-324 // smallest positive float64
var _ = y / (1e-50 + 1e-50)
var _ = y / (1e-1000 + 1e-50i)
var _ = y / (1e-50 + 1e-1000i)
-var _ = y / (1e-1000 + 1e-1000i) // ERROR "complex division by zero"
+var _ = y / (1e-1000 + 1e-1000i) // ERROR "(complex )?division by zero"
diff --git a/test/fixedbugs/issue11737.go b/test/fixedbugs/issue11737.go
index 86ecf9a..eb4bfe8 100644
--- a/test/fixedbugs/issue11737.go
+++ b/test/fixedbugs/issue11737.go
@@ -12,6 +12,6 @@
func s(x interface{}) {
switch x {
- case f: // ERROR "invalid case f \(type func\(\)\) in switch \(incomparable type\)"
+ case f: // ERROR "invalid case f \(type func\(\)\) in switch \(incomparable type\)|cannot compare"
}
}
diff --git a/test/fixedbugs/issue13365.go b/test/fixedbugs/issue13365.go
index 4bd103e..5b07e1a 100644
--- a/test/fixedbugs/issue13365.go
+++ b/test/fixedbugs/issue13365.go
@@ -11,15 +11,15 @@
var t struct{}
func main() {
- _ = []int{-1: 0} // ERROR "index must be non\-negative integer constant"
- _ = [10]int{-1: 0} // ERROR "index must be non\-negative integer constant"
- _ = [...]int{-1: 0} // ERROR "index must be non\-negative integer constant"
+ _ = []int{-1: 0} // ERROR "index must be non\-negative integer constant|must not be negative"
+ _ = [10]int{-1: 0} // ERROR "index must be non\-negative integer constant|must not be negative"
+ _ = [...]int{-1: 0} // ERROR "index must be non\-negative integer constant|must not be negative"
_ = []int{100: 0}
_ = [10]int{100: 0} // ERROR "array index 100 out of bounds"
_ = [...]int{100: 0}
- _ = []int{t} // ERROR "cannot use .* as type int in slice literal"
- _ = [10]int{t} // ERROR "cannot use .* as type int in array literal"
- _ = [...]int{t} // ERROR "cannot use .* as type int in array literal"
+ _ = []int{t} // ERROR "cannot use .* as (type )?int( in slice literal)?"
+ _ = [10]int{t} // ERROR "cannot use .* as (type )?int( in array literal)?"
+ _ = [...]int{t} // ERROR "cannot use .* as (type )?int( in array literal)?"
}
diff --git a/test/fixedbugs/issue13471.go b/test/fixedbugs/issue13471.go
index 0bfed42..8382c67 100644
--- a/test/fixedbugs/issue13471.go
+++ b/test/fixedbugs/issue13471.go
@@ -9,17 +9,17 @@
package main
func main() {
- const _ int64 = 1e646456992 // ERROR "integer too large"
- const _ int32 = 1e64645699 // ERROR "integer too large"
- const _ int16 = 1e6464569 // ERROR "integer too large"
- const _ int8 = 1e646456 // ERROR "integer too large"
- const _ int = 1e64645 // ERROR "integer too large"
+ const _ int64 = 1e646456992 // ERROR "integer too large|truncated to .*"
+ const _ int32 = 1e64645699 // ERROR "integer too large|truncated to .*"
+ const _ int16 = 1e6464569 // ERROR "integer too large|truncated to .*"
+ const _ int8 = 1e646456 // ERROR "integer too large|truncated to .*"
+ const _ int = 1e64645 // ERROR "integer too large|truncated to .*"
- const _ uint64 = 1e646456992 // ERROR "integer too large"
- const _ uint32 = 1e64645699 // ERROR "integer too large"
- const _ uint16 = 1e6464569 // ERROR "integer too large"
- const _ uint8 = 1e646456 // ERROR "integer too large"
- const _ uint = 1e64645 // ERROR "integer too large"
+ const _ uint64 = 1e646456992 // ERROR "integer too large|truncated to .*"
+ const _ uint32 = 1e64645699 // ERROR "integer too large|truncated to .*"
+ const _ uint16 = 1e6464569 // ERROR "integer too large|truncated to .*"
+ const _ uint8 = 1e646456 // ERROR "integer too large|truncated to .*"
+ const _ uint = 1e64645 // ERROR "integer too large|truncated to .*"
- const _ rune = 1e64645 // ERROR "integer too large"
+ const _ rune = 1e64645 // ERROR "integer too large|truncated to .*"
}
diff --git a/test/fixedbugs/issue13480.go b/test/fixedbugs/issue13480.go
index cd2f05d..8c2fc44 100644
--- a/test/fixedbugs/issue13480.go
+++ b/test/fixedbugs/issue13480.go
@@ -18,21 +18,21 @@
var m M
var f F
- _ = s == S(nil) // ERROR "compare.*to nil"
- _ = S(nil) == s // ERROR "compare.*to nil"
+ _ = s == S(nil) // ERROR "compare.*to nil|operator \=\= not defined for ."
+ _ = S(nil) == s // ERROR "compare.*to nil|operator \=\= not defined for ."
switch s {
- case S(nil): // ERROR "compare.*to nil"
+ case S(nil): // ERROR "compare.*to nil|operator \=\= not defined for ."
}
- _ = m == M(nil) // ERROR "compare.*to nil"
- _ = M(nil) == m // ERROR "compare.*to nil"
+ _ = m == M(nil) // ERROR "compare.*to nil|operator \=\= not defined for ."
+ _ = M(nil) == m // ERROR "compare.*to nil|operator \=\= not defined for ."
switch m {
- case M(nil): // ERROR "compare.*to nil"
+ case M(nil): // ERROR "compare.*to nil|operator \=\= not defined for ."
}
- _ = f == F(nil) // ERROR "compare.*to nil"
- _ = F(nil) == f // ERROR "compare.*to nil"
+ _ = f == F(nil) // ERROR "compare.*to nil|operator \=\= not defined for ."
+ _ = F(nil) == f // ERROR "compare.*to nil|operator \=\= not defined for ."
switch f {
- case F(nil): // ERROR "compare.*to nil"
+ case F(nil): // ERROR "compare.*to nil|operator \=\= not defined for ."
}
}
diff --git a/test/fixedbugs/issue13485.go b/test/fixedbugs/issue13485.go
index a9beea1..d928c1e 100644
--- a/test/fixedbugs/issue13485.go
+++ b/test/fixedbugs/issue13485.go
@@ -9,10 +9,10 @@
var (
_ [10]int
_ [10.0]int
- _ [float64(10)]int // ERROR "invalid array bound"
+ _ [float64(10)]int // ERROR "invalid array bound|must be integer"
_ [10 + 0i]int
_ [complex(10, 0)]int
- _ [complex128(complex(10, 0))]int // ERROR "invalid array bound"
+ _ [complex128(complex(10, 0))]int // ERROR "invalid array bound|must be integer"
_ ['a']int
_ [rune(65)]int
)
diff --git a/test/fixedbugs/issue13539.go b/test/fixedbugs/issue13539.go
index 72c3ab0..181fbef 100644
--- a/test/fixedbugs/issue13539.go
+++ b/test/fixedbugs/issue13539.go
@@ -10,7 +10,7 @@
package main
-import "math" // ERROR "imported and not used"
+import "math" // ERROR "imported and not used|imported but not used"
func main() {
math:
diff --git a/test/fixedbugs/issue13559.go b/test/fixedbugs/issue13559.go
index 16de2a2..07cf2ca 100644
--- a/test/fixedbugs/issue13559.go
+++ b/test/fixedbugs/issue13559.go
@@ -10,80 +10,80 @@
package p
// failure case in issue
-const _ int64 = 1e-10000 // ERROR "1e\-10000 truncated"
+const _ int64 = 1e-10000 // ERROR "1e\-10000 truncated|.* truncated to int64"
const (
- _ int64 = 1e10000000 // ERROR "integer too large"
- _ int64 = 1e1000000 // ERROR "integer too large"
- _ int64 = 1e100000 // ERROR "integer too large"
- _ int64 = 1e10000 // ERROR "integer too large"
- _ int64 = 1e1000 // ERROR "integer too large"
- _ int64 = 1e100 // ERROR "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 overflows"
+ _ int64 = 1e10000000 // ERROR "integer too large|truncated to int64"
+ _ int64 = 1e1000000 // ERROR "integer too large|truncated to int64"
+ _ int64 = 1e100000 // ERROR "integer too large|truncated to int64"
+ _ int64 = 1e10000 // ERROR "integer too large|truncated to int64"
+ _ int64 = 1e1000 // ERROR "integer too large|truncated to int64"
+ _ int64 = 1e100 // ERROR "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 overflows|truncated to int64"
_ int64 = 1e10
_ int64 = 1e1
_ int64 = 1e0
- _ int64 = 1e-1 // ERROR "0\.1 truncated"
- _ int64 = 1e-10 // ERROR "1e\-10 truncated"
- _ int64 = 1e-100 // ERROR "1e\-100 truncated"
- _ int64 = 1e-1000 // ERROR "1e\-1000 truncated"
- _ int64 = 1e-10000 // ERROR "1e\-10000 truncated"
- _ int64 = 1e-100000 // ERROR "1e\-100000 truncated"
- _ int64 = 1e-1000000 // ERROR "1e\-1000000 truncated"
+ _ int64 = 1e-1 // ERROR "0\.1 truncated|.* truncated to int64"
+ _ int64 = 1e-10 // ERROR "1e\-10 truncated|.* truncated to int64"
+ _ int64 = 1e-100 // ERROR "1e\-100 truncated|.* truncated to int64"
+ _ int64 = 1e-1000 // ERROR "1e\-1000 truncated|.* truncated to int64"
+ _ int64 = 1e-10000 // ERROR "1e\-10000 truncated|.* truncated to int64"
+ _ int64 = 1e-100000 // ERROR "1e\-100000 truncated|.* truncated to int64"
+ _ int64 = 1e-1000000 // ERROR "1e\-1000000 truncated|.* truncated to int64"
)
const (
- _ int64 = -1e10000000 // ERROR "integer too large"
- _ int64 = -1e1000000 // ERROR "integer too large"
- _ int64 = -1e100000 // ERROR "integer too large"
- _ int64 = -1e10000 // ERROR "integer too large"
- _ int64 = -1e1000 // ERROR "integer too large"
- _ int64 = -1e100 // ERROR "\-10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 overflows"
+ _ int64 = -1e10000000 // ERROR "integer too large|truncated to int64"
+ _ int64 = -1e1000000 // ERROR "integer too large|truncated to int64"
+ _ int64 = -1e100000 // ERROR "integer too large|truncated to int64"
+ _ int64 = -1e10000 // ERROR "integer too large|truncated to int64"
+ _ int64 = -1e1000 // ERROR "integer too large|truncated to int64"
+ _ int64 = -1e100 // ERROR "\-10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 overflows|truncated to int64"
_ int64 = -1e10
_ int64 = -1e1
_ int64 = -1e0
- _ int64 = -1e-1 // ERROR "\-0\.1 truncated"
- _ int64 = -1e-10 // ERROR "\-1e\-10 truncated"
- _ int64 = -1e-100 // ERROR "\-1e\-100 truncated"
- _ int64 = -1e-1000 // ERROR "\-1e\-1000 truncated"
- _ int64 = -1e-10000 // ERROR "\-1e\-10000 truncated"
- _ int64 = -1e-100000 // ERROR "\-1e\-100000 truncated"
- _ int64 = -1e-1000000 // ERROR "\-1e\-1000000 truncated"
+ _ int64 = -1e-1 // ERROR "\-0\.1 truncated|.* truncated to int64"
+ _ int64 = -1e-10 // ERROR "\-1e\-10 truncated|.* truncated to int64"
+ _ int64 = -1e-100 // ERROR "\-1e\-100 truncated|.* truncated to int64"
+ _ int64 = -1e-1000 // ERROR "\-1e\-1000 truncated|.* truncated to int64"
+ _ int64 = -1e-10000 // ERROR "\-1e\-10000 truncated|.* truncated to int64"
+ _ int64 = -1e-100000 // ERROR "\-1e\-100000 truncated|.* truncated to int64"
+ _ int64 = -1e-1000000 // ERROR "\-1e\-1000000 truncated|.* truncated to int64"
)
const (
- _ int64 = 1.23456789e10000000 // ERROR "integer too large"
- _ int64 = 1.23456789e1000000 // ERROR "integer too large"
- _ int64 = 1.23456789e100000 // ERROR "integer too large"
- _ int64 = 1.23456789e10000 // ERROR "integer too large"
- _ int64 = 1.23456789e1000 // ERROR "integer too large"
- _ int64 = 1.23456789e100 // ERROR "12345678900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 overflows"
+ _ int64 = 1.23456789e10000000 // ERROR "integer too large|truncated to int64"
+ _ int64 = 1.23456789e1000000 // ERROR "integer too large|truncated to int64"
+ _ int64 = 1.23456789e100000 // ERROR "integer too large|truncated to int64"
+ _ int64 = 1.23456789e10000 // ERROR "integer too large|truncated to int64"
+ _ int64 = 1.23456789e1000 // ERROR "integer too large|truncated to int64"
+ _ int64 = 1.23456789e100 // ERROR "12345678900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 overflows|truncated to int64"
_ int64 = 1.23456789e10
- _ int64 = 1.23456789e1 // ERROR "12\.3457 truncated"
- _ int64 = 1.23456789e0 // ERROR "1\.23457 truncated"
- _ int64 = 1.23456789e-1 // ERROR "0\.123457 truncated"
- _ int64 = 1.23456789e-10 // ERROR "1\.23457e\-10 truncated"
- _ int64 = 1.23456789e-100 // ERROR "1\.23457e\-100 truncated"
- _ int64 = 1.23456789e-1000 // ERROR "1\.23457e\-1000 truncated"
- _ int64 = 1.23456789e-10000 // ERROR "1\.23457e\-10000 truncated"
- _ int64 = 1.23456789e-100000 // ERROR "1\.23457e\-100000 truncated"
- _ int64 = 1.23456789e-1000000 // ERROR "1\.23457e\-1000000 truncated"
+ _ int64 = 1.23456789e1 // ERROR "12\.3457 truncated|.* truncated to int64"
+ _ int64 = 1.23456789e0 // ERROR "1\.23457 truncated|.* truncated to int64"
+ _ int64 = 1.23456789e-1 // ERROR "0\.123457 truncated|.* truncated to int64"
+ _ int64 = 1.23456789e-10 // ERROR "1\.23457e\-10 truncated|.* truncated to int64"
+ _ int64 = 1.23456789e-100 // ERROR "1\.23457e\-100 truncated|.* truncated to int64"
+ _ int64 = 1.23456789e-1000 // ERROR "1\.23457e\-1000 truncated|.* truncated to int64"
+ _ int64 = 1.23456789e-10000 // ERROR "1\.23457e\-10000 truncated|.* truncated to int64"
+ _ int64 = 1.23456789e-100000 // ERROR "1\.23457e\-100000 truncated|.* truncated to int64"
+ _ int64 = 1.23456789e-1000000 // ERROR "1\.23457e\-1000000 truncated|.* truncated to int64"
)
const (
- _ int64 = -1.23456789e10000000 // ERROR "integer too large"
- _ int64 = -1.23456789e1000000 // ERROR "integer too large"
- _ int64 = -1.23456789e100000 // ERROR "integer too large"
- _ int64 = -1.23456789e10000 // ERROR "integer too large"
- _ int64 = -1.23456789e1000 // ERROR "integer too large"
- _ int64 = -1.23456789e100 // ERROR "\-12345678900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 overflows"
+ _ int64 = -1.23456789e10000000 // ERROR "integer too large|truncated to int64"
+ _ int64 = -1.23456789e1000000 // ERROR "integer too large|truncated to int64"
+ _ int64 = -1.23456789e100000 // ERROR "integer too large|truncated to int64"
+ _ int64 = -1.23456789e10000 // ERROR "integer too large|truncated to int64"
+ _ int64 = -1.23456789e1000 // ERROR "integer too large|truncated to int64"
+ _ int64 = -1.23456789e100 // ERROR "\-12345678900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 overflows|truncated to int64"
_ int64 = -1.23456789e10
- _ int64 = -1.23456789e1 // ERROR "\-12\.3457 truncated"
- _ int64 = -1.23456789e0 // ERROR "\-1\.23457 truncated"
- _ int64 = -1.23456789e-1 // ERROR "\-0\.123457 truncated"
- _ int64 = -1.23456789e-10 // ERROR "\-1\.23457e\-10 truncated"
- _ int64 = -1.23456789e-100 // ERROR "\-1\.23457e\-100 truncated"
- _ int64 = -1.23456789e-1000 // ERROR "\-1\.23457e\-1000 truncated"
- _ int64 = -1.23456789e-10000 // ERROR "\-1\.23457e\-10000 truncated"
- _ int64 = -1.23456789e-100000 // ERROR "\-1\.23457e\-100000 truncated"
- _ int64 = -1.23456789e-1000000 // ERROR "\-1\.23457e\-1000000 truncated"
+ _ int64 = -1.23456789e1 // ERROR "\-12\.3457 truncated|.* truncated to int64"
+ _ int64 = -1.23456789e0 // ERROR "\-1\.23457 truncated|.* truncated to int64"
+ _ int64 = -1.23456789e-1 // ERROR "\-0\.123457 truncated|.* truncated to int64"
+ _ int64 = -1.23456789e-10 // ERROR "\-1\.23457e\-10 truncated|.* truncated to int64"
+ _ int64 = -1.23456789e-100 // ERROR "\-1\.23457e\-100 truncated|.* truncated to int64"
+ _ int64 = -1.23456789e-1000 // ERROR "\-1\.23457e\-1000 truncated|.* truncated to int64"
+ _ int64 = -1.23456789e-10000 // ERROR "\-1\.23457e\-10000 truncated|.* truncated to int64"
+ _ int64 = -1.23456789e-100000 // ERROR "\-1\.23457e\-100000 truncated|.* truncated to int64"
+ _ int64 = -1.23456789e-1000000 // ERROR "\-1\.23457e\-1000000 truncated|.* truncated to int64"
)
diff --git a/test/fixedbugs/issue14136.go b/test/fixedbugs/issue14136.go
index f9efd05..ff54a24 100644
--- a/test/fixedbugs/issue14136.go
+++ b/test/fixedbugs/issue14136.go
@@ -14,6 +14,8 @@
type T struct{}
func main() {
- t := T{X: 1, X: 1, X: 1, X: 1, X: 1, X: 1, X: 1, X: 1, X: 1, X: 1} // ERROR "unknown field 'X' in struct literal of type T"
- var s string = 1 // ERROR "cannot use 1"
+ t := T{X: 1, X: 1, X: 1, X: 1, X: 1, X: 1, X: 1, X: 1, X: 1, X: 1} // ERROR "unknown field 'X' in struct literal of type T|unknown field X"
+ _ = t
+ var s string = 1 // ERROR "cannot use 1|cannot convert"
+ _ = s
}
diff --git a/test/fixedbugs/issue14321.go b/test/fixedbugs/issue14321.go
index 058008c..925b0b7 100644
--- a/test/fixedbugs/issue14321.go
+++ b/test/fixedbugs/issue14321.go
@@ -30,4 +30,4 @@
var _ = C.F // ERROR "ambiguous selector"
var _ = C.G // ERROR "ambiguous selector"
var _ = C.H // ERROR "ambiguous selector"
-var _ = C.I // ERROR "no method I"
+var _ = C.I // ERROR "no method I|C.I undefined"
diff --git a/test/fixedbugs/issue14729.go b/test/fixedbugs/issue14729.go
index 88e01f9..52201f3 100644
--- a/test/fixedbugs/issue14729.go
+++ b/test/fixedbugs/issue14729.go
@@ -10,5 +10,5 @@
import "unsafe"
-type s struct { unsafe.Pointer } // ERROR "embedded type cannot be a pointer"
+type s struct { unsafe.Pointer } // ERROR "embedded type cannot be a pointer|embedded field type cannot be unsafe.Pointer"
type s1 struct { p unsafe.Pointer }
diff --git a/test/fixedbugs/issue15055.go b/test/fixedbugs/issue15055.go
index e58047e..b6c3d96 100644
--- a/test/fixedbugs/issue15055.go
+++ b/test/fixedbugs/issue15055.go
@@ -8,10 +8,10 @@
func main() {
type name string
- _ = []byte("abc", "def", 12) // ERROR "too many arguments to conversion to \[\]byte: \(\[\]byte\)\(.abc., .def., 12\)"
- _ = string("a", "b", nil) // ERROR "too many arguments to conversion to string: string\(.a., .b., nil\)"
- _ = []byte() // ERROR "missing argument to conversion to \[\]byte: \(\[\]byte\)\(\)"
- _ = string() // ERROR "missing argument to conversion to string: string\(\)"
- _ = name("a", 1, 3.3) // ERROR "too many arguments to conversion to name: name\(.a., 1, 3.3\)"
- _ = map[string]string(nil, nil) // ERROR "too many arguments to conversion to map\[string\]string: \(map\[string\]string\)\(nil, nil\)"
+ _ = []byte("abc", "def", 12) // ERROR "too many arguments (to conversion to \[\]byte: \(\[\]byte\)\(.abc., .def., 12\))?"
+ _ = string("a", "b", nil) // ERROR "too many arguments (to conversion to string: string\(.a., .b., nil\))?"
+ _ = []byte() // ERROR "missing argument (to conversion to \[\]byte: \(\[\]byte\)\(\))?"
+ _ = string() // ERROR "missing argument (to conversion to string: string\(\))?"
+ _ = name("a", 1, 3.3) // ERROR "too many arguments (to conversion to name: name\(.a., 1, 3.3\))?"
+ _ = map[string]string(nil, nil) // ERROR "too many arguments (to conversion to map\[string\]string: \(map\[string\]string\)\(nil, nil\))?"
}
diff --git a/test/fixedbugs/issue15898.go b/test/fixedbugs/issue15898.go
index 7b66ea2..7739baf 100644
--- a/test/fixedbugs/issue15898.go
+++ b/test/fixedbugs/issue15898.go
@@ -8,11 +8,11 @@
func f(e interface{}) {
switch e.(type) {
- case nil, nil: // ERROR "multiple nil cases in type switch"
+ case nil, nil: // ERROR "multiple nil cases in type switch|duplicate case nil in type switch"
}
switch e.(type) {
case nil:
- case nil: // ERROR "multiple nil cases in type switch"
+ case nil: // ERROR "multiple nil cases in type switch|duplicate case nil in type switch"
}
}
diff --git a/test/fixedbugs/issue16439.go b/test/fixedbugs/issue16439.go
index f9382ba..0a842ca 100644
--- a/test/fixedbugs/issue16439.go
+++ b/test/fixedbugs/issue16439.go
@@ -7,12 +7,12 @@
package p
var a []int = []int{1: 1}
-var b []int = []int{-1: 1} // ERROR "must be non-negative integer constant"
+var b []int = []int{-1: 1} // ERROR "must be non-negative integer constant|must not be negative"
var c []int = []int{2.0: 2}
-var d []int = []int{-2.0: 2} // ERROR "must be non-negative integer constant"
+var d []int = []int{-2.0: 2} // ERROR "must be non-negative integer constant|must not be negative"
var e []int = []int{3 + 0i: 3}
-var f []int = []int{3i: 3} // ERROR "truncated to integer"
+var f []int = []int{3i: 3} // ERROR "truncated to integer|truncated to int"
-var g []int = []int{"a": 4} // ERROR "must be non-negative integer constant"
+var g []int = []int{"a": 4} // ERROR "must be non-negative integer constant|cannot convert"
diff --git a/test/fixedbugs/issue16949.go b/test/fixedbugs/issue16949.go
index 9ee3387..1007d70 100644
--- a/test/fixedbugs/issue16949.go
+++ b/test/fixedbugs/issue16949.go
@@ -12,19 +12,19 @@
func main() {
sink = make([]byte, 1.0)
- sink = make([]byte, float32(1.0)) // ERROR "non-integer.*len"
- sink = make([]byte, float64(1.0)) // ERROR "non-integer.*len"
+ sink = make([]byte, float32(1.0)) // ERROR "non-integer.*len|must be integer"
+ sink = make([]byte, float64(1.0)) // ERROR "non-integer.*len|must be integer"
sink = make([]byte, 0, 1.0)
- sink = make([]byte, 0, float32(1.0)) // ERROR "non-integer.*cap"
- sink = make([]byte, 0, float64(1.0)) // ERROR "non-integer.*cap"
+ sink = make([]byte, 0, float32(1.0)) // ERROR "non-integer.*cap|must be integer"
+ sink = make([]byte, 0, float64(1.0)) // ERROR "non-integer.*cap|must be integer"
sink = make([]byte, 1+0i)
- sink = make([]byte, complex64(1+0i)) // ERROR "non-integer.*len"
- sink = make([]byte, complex128(1+0i)) // ERROR "non-integer.*len"
+ sink = make([]byte, complex64(1+0i)) // ERROR "non-integer.*len|must be integer"
+ sink = make([]byte, complex128(1+0i)) // ERROR "non-integer.*len|must be integer"
sink = make([]byte, 0, 1+0i)
- sink = make([]byte, 0, complex64(1+0i)) // ERROR "non-integer.*cap"
- sink = make([]byte, 0, complex128(1+0i)) // ERROR "non-integer.*cap"
+ sink = make([]byte, 0, complex64(1+0i)) // ERROR "non-integer.*cap|must be integer"
+ sink = make([]byte, 0, complex128(1+0i)) // ERROR "non-integer.*cap|must be integer"
}
diff --git a/test/fixedbugs/issue6402.go b/test/fixedbugs/issue6402.go
index da5980c..027291a 100644
--- a/test/fixedbugs/issue6402.go
+++ b/test/fixedbugs/issue6402.go
@@ -9,5 +9,5 @@
package p
func f() uintptr {
- return nil // ERROR "cannot use nil as type uintptr in return argument"
+ return nil // ERROR "cannot use nil as type uintptr in return argument|cannot convert nil"
}
diff --git a/test/fixedbugs/issue6572.go b/test/fixedbugs/issue6572.go
index e4465e9..9f4d2de 100644
--- a/test/fixedbugs/issue6572.go
+++ b/test/fixedbugs/issue6572.go
@@ -17,5 +17,6 @@
func main() {
var x, y, z int
x, y = foo()
- x, y, z = bar() // ERROR "cannot (use type|assign) string"
+ x, y, z = bar() // ERROR "cannot (use type|assign) string|incompatible type"
+ _, _, _ = x, y, z
}