mirror of
https://github.com/golang/go
synced 2024-11-26 16:16:57 -07:00
[dev.typeparams] cmd/compile: allow nil Syms in Sym.Less
Allows sorting interfaces that contain embedded anonymous types. Fixes #46556. Change-Id: If19afa1d62432323b2e98957087867afbf3f9097 Reviewed-on: https://go-review.googlesource.com/c/go/+/324812 Trust: Matthew Dempsky <mdempsky@google.com> Trust: Dan Scales <danscales@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Dan Scales <danscales@google.com>
This commit is contained in:
parent
a2d6a2caeb
commit
026480d06b
@ -110,6 +110,14 @@ func (a *Sym) Less(b *Sym) bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Nil before non-nil.
|
||||||
|
if a == nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if b == nil {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
// Exported symbols before non-exported.
|
// Exported symbols before non-exported.
|
||||||
ea := IsExported(a.Name)
|
ea := IsExported(a.Name)
|
||||||
eb := IsExported(b.Name)
|
eb := IsExported(b.Name)
|
||||||
|
16
test/fixedbugs/issue46556.go
Normal file
16
test/fixedbugs/issue46556.go
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
// compile
|
||||||
|
|
||||||
|
// Copyright 2021 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 A = interface{}
|
||||||
|
type B interface{}
|
||||||
|
|
||||||
|
// Test that embedding both anonymous and defined types is supported.
|
||||||
|
type C interface {
|
||||||
|
A
|
||||||
|
B
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user