1
0
mirror of https://github.com/golang/go synced 2024-11-22 01:54:42 -07:00

Match gccgo error messages.

I have to admit that "cannot use type p.T as type p.T" is a
bit weak.  8g gives a similar error ("cannot use v1 (type p.T)
as type p.T in assignment").

bug3.go:37:5: error: incompatible type in initialization (incompatible type for method ‘M’ (different parameter types))
bug3.go:38:5: error: incompatible type in initialization (incompatible type for method ‘M’ (different parameter types))
bug3.go:43:5: error: incompatible type in initialization (incompatible type for method ‘M’ (different parameter types))
bug3.go:44:5: error: incompatible type in initialization (incompatible type for method ‘M’ (different parameter types))
bug3.go:49:5: error: incompatible types in assignment (cannot use type p.T as type p.T)
bug3.go:50:5: error: incompatible types in assignment (cannot use type p.T as type p.T)
bug3.go:55:5: error: incompatible types in assignment (incompatible type for method ‘M’ (different parameter types))
bug3.go:56:5: error: incompatible types in assignment (incompatible type for method ‘M’ (different parameter types))
bug3.go:57:6: error: incompatible types in assignment (incompatible type for method ‘M’ (different parameter types))
bug3.go:58:6: error: incompatible types in assignment (incompatible type for method ‘M’ (different parameter types))
bug3.go:59:5: error: incompatible types in assignment (incompatible type for method ‘M’ (different parameter types))
bug3.go:60:5: error: incompatible types in assignment (incompatible type for method ‘M’ (different parameter types))
bug3.go:61:6: error: incompatible types in assignment (incompatible type for method ‘M’ (different parameter types))
bug3.go:62:6: error: incompatible types in assignment (incompatible type for method ‘M’ (different parameter types))

R=rsc
CC=golang-dev
https://golang.org/cl/199044
This commit is contained in:
Ian Lance Taylor 2010-02-01 16:25:55 -08:00
parent 45515011cc
commit 001d9917f4

View File

@ -34,14 +34,14 @@ func (t1) M(p1.T) {}
var i0 I0 = t0(0) // ok
var i1 I1 = t1(0) // ok
var i2 I0 = t1(0) // ERROR "is not"
var i3 I1 = t0(0) // ERROR "is not"
var i2 I0 = t1(0) // ERROR "is not|incompatible"
var i3 I1 = t0(0) // ERROR "is not|incompatible"
var p0i p0.I = t0(0) // ok
var p1i p1.I = t1(0) // ok
var p0i1 p0.I = t1(0) // ERROR "is not"
var p0i2 p1.I = t0(0) // ERROR "is not"
var p0i1 p0.I = t1(0) // ERROR "is not|incompatible"
var p0i2 p1.I = t0(0) // ERROR "is not|incompatible"
func main() {
// check that cannot assign one to the other,
@ -52,14 +52,14 @@ func main() {
v0 = p0.T(v1)
v1 = p1.T(v0)
i0 = i1 // ERROR "need type assertion"
i1 = i0 // ERROR "need type assertion"
p0i = i1 // ERROR "need type assertion"
p1i = i0 // ERROR "need type assertion"
i0 = p1i // ERROR "need type assertion"
i1 = p0i // ERROR "need type assertion"
p0i = p1i // ERROR "need type assertion"
p1i = p0i // ERROR "need type assertion"
i0 = i1 // ERROR "need type assertion|incompatible"
i1 = i0 // ERROR "need type assertion|incompatible"
p0i = i1 // ERROR "need type assertion|incompatible"
p1i = i0 // ERROR "need type assertion|incompatible"
i0 = p1i // ERROR "need type assertion|incompatible"
i1 = p0i // ERROR "need type assertion|incompatible"
p0i = p1i // ERROR "need type assertion|incompatible"
p1i = p0i // ERROR "need type assertion|incompatible"
i0 = p0i
p0i = i0