mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: add Type.ChanDir
Generated with eg. Passes toolstash -cmp. Change-Id: I3af35191e73a558080f777a4eed93bcec7dfe1f5 Reviewed-on: https://go-review.googlesource.com/21469 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
4ae4e81c2c
commit
29267c2131
7 changed files with 20 additions and 13 deletions
|
|
@ -721,7 +721,7 @@ func eqtype1(t1, t2 *Type, assumedEqual map[typePair]struct{}) bool {
|
|||
}
|
||||
|
||||
case TCHAN:
|
||||
if t1.Chan != t2.Chan {
|
||||
if t1.ChanDir() != t2.ChanDir() {
|
||||
return false
|
||||
}
|
||||
|
||||
|
|
@ -844,7 +844,7 @@ func assignop(src *Type, dst *Type, why *string) Op {
|
|||
// 4. src is a bidirectional channel value, dst is a channel type,
|
||||
// src and dst have identical element types, and
|
||||
// either src or dst is not a named type.
|
||||
if src.IsChan() && src.Chan == Cboth && dst.IsChan() {
|
||||
if src.IsChan() && src.ChanDir() == Cboth && dst.IsChan() {
|
||||
if Eqtype(src.Elem(), dst.Elem()) && (src.Sym == nil || dst.Sym == nil) {
|
||||
return OCONVNOP
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue