mirror of https://github.com/golang/go.git
cmd/compile: add two error position tests for the typechecker
Follow CL 41477 and add two more line position tests for yyerror calls in the typechecker which are currently not tested. Update #19683 Change-Id: Iacd865195a3bfba87d8c22655382af267aba47a9 Reviewed-on: https://go-review.googlesource.com/70251 Reviewed-by: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
parent
53bbddd527
commit
fd9fac2c7c
|
|
@ -35,3 +35,7 @@ var pv = &v
|
||||||
|
|
||||||
var _ = pv.val() // ERROR "pv.val undefined"
|
var _ = pv.val() // ERROR "pv.val undefined"
|
||||||
var _ = pv.val // ERROR "pv.val undefined"
|
var _ = pv.val // ERROR "pv.val undefined"
|
||||||
|
|
||||||
|
func (t *T) g() int { return t.a }
|
||||||
|
|
||||||
|
var _ = (T).g() // ERROR "needs pointer receiver|undefined"
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
// errorcheck
|
||||||
|
|
||||||
|
// Copyright 2017 The Go Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
// Verify that pointer method calls are caught during typechecking.
|
||||||
|
// Reproducer extracted and adapted from method.go
|
||||||
|
|
||||||
|
package foo
|
||||||
|
|
||||||
|
type A struct {
|
||||||
|
B
|
||||||
|
}
|
||||||
|
type B int
|
||||||
|
|
||||||
|
func (*B) g() {}
|
||||||
|
|
||||||
|
var _ = func() {
|
||||||
|
var a A
|
||||||
|
A(a).g() // ERROR "cannot call pointer method on|cannot take the address of"
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue