]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: don't expand invalid embedded interface
authorCuong Manh Le <cuong.manhle.vn@gmail.com>
Thu, 4 Mar 2021 07:40:50 +0000 (14:40 +0700)
committerCuong Manh Le <cuong.manhle.vn@gmail.com>
Fri, 5 Mar 2021 18:46:16 +0000 (18:46 +0000)
The invalid interface type will be reported already, so don't expand
that invalid one, which causes the compiler crashes.

Updates #43311

Change-Id: Ic335cfa74f0b9fcfd0929dc5fd31d9156a8f5f5c
Reviewed-on: https://go-review.googlesource.com/c/go/+/298710
Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/cmd/compile/internal/types/size.go
test/fixedbugs/issue20245.go
test/fixedbugs/issue22921.go
test/fixedbugs/issue27938.go

index 4c7378560cc532a1fb7998b787632fa48b20f8c0..ef23cdf5fe3bbbec78a48733b13eea7ac65666c8 100644 (file)
@@ -100,7 +100,7 @@ func expandiface(t *Type) {
        }
 
        for _, m := range t.Methods().Slice() {
-               if m.Sym != nil {
+               if m.Sym != nil || m.Type == nil {
                        continue
                }
 
index b07dbe20de677cd3c14c8a60eaf87afaccf918f7..20258231d1207a12ded45c58dcab414ca7b929ca 100644 (file)
@@ -1,4 +1,4 @@
-// errorcheck
+// errorcheck -d=panic
 
 // Copyright 2017 The Go Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style
index 5336ba34109f9945db72870fe14642eb2ce57d7f..cdd77fb24f2fdedd58bbfa2bb0cd6eb49602b6c8 100644 (file)
@@ -1,4 +1,4 @@
-// errorcheck
+// errorcheck -d=panic
 
 // Copyright 2020 The Go Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style
index ed974e642df576a34a1fdfca8e7b55672eecf819..2589e1eff8d2f5239e7c4dd0c3fef46b4027c352 100644 (file)
@@ -1,4 +1,4 @@
-// errorcheck
+// errorcheck -d=panic
 
 // Copyright 2018 The Go Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style