go cmd/compile:由于内联,将初始化循环错误消息变得模糊

pw9qyyiw  于 2个月前  发布在  Go
关注(0)|答案(3)|浏览(35)

go版本开发版+0a4913b2d4 星期三 8月23日 11:09:11 2017 +0200 linux/amd64
https://play.golang.org/p/TW5DVv3zTk
产生模糊的错误信息:

tmp/sandbox278346721/main.go:3:5: initialization loop:
	prog.go:3:5 A refers to
	prog.go:3:5 A

如果使用-l编译,会产生易懂的错误信息:

/tmp/test.go:3:5: initialization loop:
	/tmp/test.go:3:5 A refers to
	/tmp/test.go:7:10 B refers to
	/tmp/test.go:11:10 C refers to
	/tmp/test.go:15:10 D refers to
	/tmp/test.go:3:5 A

在实际场景中,这些错误信息分散在文件中,与其他代码混合在一起。

gcmastyq

gcmastyq1#

看起来有点像 #16503 的扩展,但在这里我们只用 -l 就得到了正确的消息。/cc @griesemer 和 @rsc

ruarlubt

ruarlubt2#

感谢@dvyukov提交这个bug,它将与#21752一起修复。

gg58donl

gg58donl3#

将文本内容翻译为中文:移动到1.13版本,如#21752

相关问题