Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
golang
/
1.22.0
/
test
/
fixedbugs
/
Filename :
issue43384.go
back
Copy
// errorcheck // Copyright 2020 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. package p type T int func (T) Mv() {} func (*T) Mp() {} type P1 struct{ T } type P2 struct{ *T } type P3 *struct{ T } type P4 *struct{ *T } func _() { { var p P1 p.Mv() (&p).Mv() (*&p).Mv() p.Mp() (&p).Mp() (*&p).Mp() } { var p P2 p.Mv() (&p).Mv() (*&p).Mv() p.Mp() (&p).Mp() (*&p).Mp() } { var p P3 p.Mv() // ERROR "undefined" (&p).Mv() // ERROR "undefined" (*&p).Mv() // ERROR "undefined" (**&p).Mv() (*p).Mv() (&*p).Mv() p.Mp() // ERROR "undefined" (&p).Mp() // ERROR "undefined" (*&p).Mp() // ERROR "undefined" (**&p).Mp() (*p).Mp() (&*p).Mp() } { var p P4 p.Mv() // ERROR "undefined" (&p).Mv() // ERROR "undefined" (*&p).Mv() // ERROR "undefined" (**&p).Mv() (*p).Mv() (&*p).Mv() p.Mp() // ERROR "undefined" (&p).Mp() // ERROR "undefined" (*&p).Mp() // ERROR "undefined" (**&p).Mp() (*p).Mp() (&*p).Mp() } } func _() { type P5 struct{ T } type P6 struct{ *T } type P7 *struct{ T } type P8 *struct{ *T } { var p P5 p.Mv() (&p).Mv() (*&p).Mv() p.Mp() (&p).Mp() (*&p).Mp() } { var p P6 p.Mv() (&p).Mv() (*&p).Mv() p.Mp() (&p).Mp() (*&p).Mp() } { var p P7 p.Mv() // ERROR "undefined" (&p).Mv() // ERROR "undefined" (*&p).Mv() // ERROR "undefined" (**&p).Mv() (*p).Mv() (&*p).Mv() p.Mp() // ERROR "undefined" (&p).Mp() // ERROR "undefined" (*&p).Mp() // ERROR "undefined" (**&p).Mp() (*p).Mp() (&*p).Mp() } { var p P8 p.Mv() // ERROR "undefined" (&p).Mv() // ERROR "undefined" (*&p).Mv() // ERROR "undefined" (**&p).Mv() (*p).Mv() (&*p).Mv() p.Mp() // ERROR "undefined" (&p).Mp() // ERROR "undefined" (*&p).Mp() // ERROR "undefined" (**&p).Mp() (*p).Mp() (&*p).Mp() } }