mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
For issue 3757:
BEFORE: test/fixedbugs/bug463.go:12: typechecking loop involving a
test/fixedbugs/bug463.go:12 a
test/fixedbugs/bug463.go:12 <node DCLCONST>
AFTER: test/fixedbugs/bug463.go:12: constant definition loop
test/fixedbugs/bug463.go:12: a uses a
For issue 3937:
BEFORE: test/fixedbugs/bug464.go:12: typechecking loop involving foo
test/fixedbugs/bug464.go:12 <T>
test/fixedbugs/bug464.go:12 foo
test/fixedbugs/bug464.go:12 <node DCLFUNC>
AFTER: test/fixedbugs/bug464.go:12: foo is not a type
Fixes #3757.
Fixes #3937.
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6614058
22 lines
456 B
Go
22 lines
456 B
Go
// errorcheck
|
|
|
|
// Copyright 2012 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.
|
|
|
|
// Issue 3757: unhelpful typechecking loop message
|
|
// for constants that refer to themselves.
|
|
|
|
package main
|
|
|
|
const a = a // ERROR "refers to itself|definition loop"
|
|
|
|
const (
|
|
X = A
|
|
A = B // ERROR "refers to itself|definition loop"
|
|
B = D
|
|
C, D = 1, A
|
|
)
|
|
|
|
func main() {
|
|
}
|