]> Cypherpunks repositories - gostls13.git/commit
go/types, types2: better error message when using *interface instead of interface
authorRobert Griesemer <gri@golang.org>
Sat, 8 Jan 2022 21:01:37 +0000 (13:01 -0800)
committerRobert Griesemer <gri@golang.org>
Mon, 10 Jan 2022 22:48:40 +0000 (22:48 +0000)
commit6019a52d4dab7c243ee9088c3522c821c0c95cfa
tree6214fff11c99576b245dc5a1efed0e83972b98d2
parent1f411e9b6d8849014653c89a9df77b8aadd082e6
go/types, types2: better error message when using *interface instead of interface

- detect *interface case and report specific error
- replaced switch with sequence of if's for more clarity
- fixed isInterfacePtr: it applies to all interfaces, incl.
  type parameters
- reviewed/fixed all uses of isInterfacePtr
- adjusted error messages to be consistently of the format
  "type %s is pointer to interface, not interface"

Fixes #48312.

Change-Id: Ic3c8cfcf93ad57ecdb60f6a727cce9e1aa4afb5d
Reviewed-on: https://go-review.googlesource.com/c/go/+/376914
Trust: Robert Griesemer <gri@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
14 files changed:
src/cmd/compile/internal/types2/call.go
src/cmd/compile/internal/types2/lookup.go
src/cmd/compile/internal/types2/operand.go
src/cmd/compile/internal/types2/testdata/check/methodsets.src
src/cmd/compile/internal/types2/testdata/fixedbugs/issue47747.go2
src/cmd/compile/internal/types2/testdata/fixedbugs/issue48312.go2 [new file with mode: 0644]
src/go/types/call.go
src/go/types/lookup.go
src/go/types/operand.go
src/go/types/testdata/check/methodsets.src
src/go/types/testdata/fixedbugs/issue47747.go2
src/go/types/testdata/fixedbugs/issue48312.go2 [new file with mode: 0644]
test/fixedbugs/issue48471.go
test/method2.go