cd p1
go install
-- go.mod --
module example
go 1.15
-- go.sum --
-- p1/f.go --
package p1
import (
"example/p2"
)
func F() {
p2.FM()
}
-- p2/w.go --
package p2
func FM() func() {
return func() {
_ = func() int {
return 0
}
}
}
> cd p1
$WORK/p1
> go install
[stderr]
# example/p1
./f.go:8:7: internal compiler error: cannot export = (21) node
==> please file an issue and assign to gri@
goroutine 1 [running]:
runtime/debug.Stack(0xe9d640, 0xc00000e018, 0x0)
/home/rogpeppe/go/src/runtime/debug/stack.go:24 +0x9f
cmd/compile/internal/base.FatalfAt(0x505000000004, 0xd85733, 0x47, 0xc0006130c8, 0x2, 0x2)
/home/rogpeppe/go/src/cmd/compile/internal/base/print.go:227 +0x1bc
cmd/compile/internal/base.Fatalf(...)
/home/rogpeppe/go/src/cmd/compile/internal/base/print.go:196
cmd/compile/internal/typecheck.(*exportWriter).expr(0xc0006c6540, 0xeab610, 0xc0006380a0)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1581 +0x65a
cmd/compile/internal/typecheck.(*exportWriter).exprList(0xc0006c6540, 0xc0006300b0, 0x1, 0x1)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1287 +0x6c
cmd/compile/internal/typecheck.(*exportWriter).stmt(0xc0006c6540, 0xead230, 0xc0003b85f0)
/home/rogpeppe/go/src/cmd/compile/internal/typetestscript: exit 1
check/iexport.go:1186 +0xadc
cmd/compile/internal/typecheck.(*exportWriter).node(0xc0006c6540, 0xead230, 0xc0003b85f0)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1116 +0x78
cmd/compile/internal/typecheck.(*exportWriter).stmtList(0xc0006c6540, 0xc000630080, 0x1, 0x1)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1109 +0x6c
cmd/compile/internal/typecheck.(*exportWriter).expr(0xc0006c6540, 0xeabc50, 0xc0003b8640)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1395 +0x3ca
cmd/compile/internal/typecheck.(*exportWriter).stmt(0xc0006c6540, 0xeab610, 0xc0003b8690)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1162 +0x44e
cmd/compile/internal/typecheck.(*exportWriter).node(0xc0006c6540, 0xeab610, 0xc0003b8690)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1116 +0x78
cmd/compile/internal/typecheck.(*exportWriter).stmtList(0xc0006c6540, 0xc000050870, 0x1, 0x1)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1109 +0x6c
cmd/compile/internal/typecheck.(*exportWriter).expr(0xc0006c6540, 0xeabc50, 0xc0003b86e0)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1395 +0x3ca
cmd/compile/internal/typecheck.(*exportWriter).exprList(0xc0006c6540, 0xc000050880, 0x1, 0x1)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1287 +0x6c
cmd/compile/internal/typecheck.(*exportWriter).stmt(0xc0006c6540, 0xead230, 0xc0003b8730)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1186 +0xadc
cmd/compile/internal/typecheck.(*exportWriter).node(0xc0006c6540, 0xead230, 0xc0003b8730)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1116 +0x78
cmd/compile/internal/typecheck.(*exportWriter).stmtList(0xc0006c6540, 0xc000050890, 0x1, 0x1)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1109 +0x6c
cmd/compile/internal/typecheck.(*exportWriter).funcBody(0xc0006c6540, 0xc00013a420)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1104 +0x8b
cmd/compile/internal/typecheck.(*iexporter).doInline(0xc0001080a0, 0xc0003aea90)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:545 +0xd3
cmd/compile/internal/typecheck.(*exportWriter).funcExt(0xc0006c6460, 0xc0003aea90)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1042 +0x1cf
cmd/compile/internal/typecheck.(*iexporter).doDecl(0xc0001080a0, 0xc0003aea90)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:458 +0x147
cmd/compile/internal/typecheck.WriteExports(0xc0006ac480)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:274 +0x2ab
cmd/compile/internal/gc.dumpexport(0xc0006ba240)
/home/rogpeppe/go/src/cmd/compile/internal/gc/export.go:34 +0x1a5
cmd/compile/internal/gc.dumpCompilerObj(0xc0006ba240)
/home/rogpeppe/go/src/cmd/compile/internal/gc/obj.go:106 +0x39
cmd/compile/internal/gc.dumpobj1(0x7ffc3ab34911, 0x4e, 0x3)
/home/rogpeppe/go/src/cmd/compile/internal/gc/obj.go:62 +0x174
cmd/compile/internal/gc.dumpobj()
/home/rogpeppe/go/src/cmd/compile/internal/gc/obj.go:43 +0x50
cmd/compile/internal/gc.Main(0xd8bf40)
/home/rogpeppe/go/src/cmd/compile/internal/gc/main.go:299 +0xefa
main.main()
/home/rogpeppe/go/src/cmd/compile/main.go:54 +0xb1
[exit status 2]
FAIL: /tmp/testscript564923438/0/script.txt:2: unexpected go command failure
error running /tmp/export-bug.txt in /tmp/testscript564923438/0
commit 2f0da6d
The following testscript example gives gives me an internal compiler error:
The error I see is: