diff options
author | Cuong Manh Le <cuong.manhle.vn@gmail.com> | 2021-03-04 15:06:38 +0700 |
---|---|---|
committer | Cuong Manh Le <cuong.manhle.vn@gmail.com> | 2021-03-05 18:47:09 +0000 |
commit | c082f9fee0e08ac5ea6498ade1153fb6e68f7c72 (patch) | |
tree | 118931a864868d23d80a155641604fda734ea5c8 /src/cmd/compile/internal/typecheck/typecheck.go | |
parent | fbee173545da4ecbdd80a59edcb93e6c4605241f (diff) | |
download | go-c082f9fee0e08ac5ea6498ade1153fb6e68f7c72.tar.gz go-c082f9fee0e08ac5ea6498ade1153fb6e68f7c72.zip |
cmd/compile: do not set ONAME type when evaluated in type context
Updates #43311
Change-Id: I26e397d071b434256dab0cc7fff9d134b80bd6e3
Reviewed-on: https://go-review.googlesource.com/c/go/+/298711
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>
Diffstat (limited to 'src/cmd/compile/internal/typecheck/typecheck.go')
-rw-r--r-- | src/cmd/compile/internal/typecheck/typecheck.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/typecheck/typecheck.go b/src/cmd/compile/internal/typecheck/typecheck.go index 548c1af85c..30632ac18b 100644 --- a/src/cmd/compile/internal/typecheck/typecheck.go +++ b/src/cmd/compile/internal/typecheck/typecheck.go @@ -446,7 +446,11 @@ func typecheck(n ir.Node, top int) (res ir.Node) { case top&(ctxType|ctxExpr) == ctxType && n.Op() != ir.OTYPE && n.Op() != ir.ONONAME && (t != nil || n.Op() == ir.ONAME): base.Errorf("%v is not a type", n) if t != nil { - n.SetType(nil) + if n.Op() == ir.ONAME { + t.SetBroke(true) + } else { + n.SetType(nil) + } } } |