mirror of
https://github.com/golang/go
synced 2024-11-02 11:50:30 +00:00
cmd/compile: don't crash while reporting invalid alias cycle
Add a missing nil check in the formatting code for expression nodes. Matches the nil checks in the same code. Fixes #48301. Change-Id: Ia9bfd3535254a94996ee190b544d95e15433d252 Reviewed-on: https://go-review.googlesource.com/c/go/+/348740 Trust: Robert Griesemer <gri@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
parent
426ff3746f
commit
1a708bcf1d
2 changed files with 14 additions and 1 deletions
|
@ -559,7 +559,7 @@ func exprFmt(n Node, s fmt.State, prec int) {
|
|||
}
|
||||
|
||||
nprec := OpPrec[n.Op()]
|
||||
if n.Op() == OTYPE && n.Type().IsPtr() {
|
||||
if n.Op() == OTYPE && n.Type() != nil && n.Type().IsPtr() {
|
||||
nprec = OpPrec[ODEREF]
|
||||
}
|
||||
|
||||
|
|
13
test/fixedbugs/issue48301.go
Normal file
13
test/fixedbugs/issue48301.go
Normal file
|
@ -0,0 +1,13 @@
|
|||
// errorcheck -G=0
|
||||
|
||||
// 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.
|
||||
|
||||
// Don't crash while reporting the error.
|
||||
|
||||
package p
|
||||
|
||||
func _() {
|
||||
type T = T // ERROR "T uses T"
|
||||
}
|
Loading…
Reference in a new issue