From 80098ef00c1c8a832b2d67d7cbd4dea5f8eff6e9 Mon Sep 17 00:00:00 2001 From: Cuong Manh Le Date: Thu, 4 Mar 2021 14:40:50 +0700 Subject: [PATCH] cmd/compile: don't expand invalid embedded interface 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 Run-TryBot: Cuong Manh Le TryBot-Result: Go Bot Reviewed-by: Matthew Dempsky --- src/cmd/compile/internal/types/size.go | 2 +- test/fixedbugs/issue20245.go | 2 +- test/fixedbugs/issue22921.go | 2 +- test/fixedbugs/issue27938.go | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cmd/compile/internal/types/size.go b/src/cmd/compile/internal/types/size.go index 4c7378560c..ef23cdf5fe 100644 --- a/src/cmd/compile/internal/types/size.go +++ b/src/cmd/compile/internal/types/size.go @@ -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 } diff --git a/test/fixedbugs/issue20245.go b/test/fixedbugs/issue20245.go index b07dbe20de..20258231d1 100644 --- a/test/fixedbugs/issue20245.go +++ b/test/fixedbugs/issue20245.go @@ -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 diff --git a/test/fixedbugs/issue22921.go b/test/fixedbugs/issue22921.go index 5336ba3410..cdd77fb24f 100644 --- a/test/fixedbugs/issue22921.go +++ b/test/fixedbugs/issue22921.go @@ -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 diff --git a/test/fixedbugs/issue27938.go b/test/fixedbugs/issue27938.go index ed974e642d..2589e1eff8 100644 --- a/test/fixedbugs/issue27938.go +++ b/test/fixedbugs/issue27938.go @@ -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 -- 2.48.1