Yes.
A proper build-time error.
$ go build
# dict.dev
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x5c pc=0x104ca1da0]
goroutine 1 [running]:
cmd/compile/internal/types.(*Type).HasPointers(0x0)
/usr/local/go/src/cmd/compile/internal/types/type.go:1592 +0x20
cmd/compile/internal/escape.(*escape).exprSkipInit(0x140000ea1c0, {0x14000381030, 0x0, 0x0, 0x0, 0x0}, {0x10558f668, 0x14000406ea0})
/usr/local/go/src/cmd/compile/internal/escape/escape.go:584 +0x124
cmd/compile/internal/escape.(*escape).expr(0x140000ea1c0, {0x14000381030, 0x0, 0x0, 0x0, 0x0}, {0x10558f668, 0x14000406ea0})
/usr/local/go/src/cmd/compile/internal/escape/escape.go:566 +0x78
cmd/compile/internal/escape.(*escape).assignList(0x140000ea1c0, {0x140000ea060, 0x2, 0x2}, {0x140000ea040, 0x2, 0x2}, {0x1053613da, 0xb}, {0x10558dca0, ...})
/usr/local/go/src/cmd/compile/internal/escape/escape.go:972 +0x354
cmd/compile/internal/escape.(*escape).stmt(0x140000ea1c0, {0x10558dca0, 0x140000b0180})
/usr/local/go/src/cmd/compile/internal/escape/escape.go:508 +0xc74
cmd/compile/internal/escape.(*escape).stmts(0x140000ea1c0, {0x14000444100, 0xe, 0x10})
/usr/local/go/src/cmd/compile/internal/escape/escape.go:548 +0x74
cmd/compile/internal/escape.(*escape).stmt(0x140000ea1c0, {0x10558e088, 0x140000b2140})
/usr/local/go/src/cmd/compile/internal/escape/escape.go:400 +0x9f8
cmd/compile/internal/escape.(*escape).stmts(0x140000ea1c0, {0x1400005c140, 0x1, 0x1})
/usr/local/go/src/cmd/compile/internal/escape/escape.go:548 +0x74
cmd/compile/internal/escape.(*escape).block(...)
/usr/local/go/src/cmd/compile/internal/escape/escape.go:555
cmd/compile/internal/escape.(*escape).stmt(0x140000ea1c0, {0x10558f988, 0x14000404360})
/usr/local/go/src/cmd/compile/internal/escape/escape.go:457 +0x988
cmd/compile/internal/escape.(*escape).stmts(0x140000ea1c0, {0x14000068340, 0x2, 0x2})
/usr/local/go/src/cmd/compile/internal/escape/escape.go:548 +0x74
cmd/compile/internal/escape.(*escape).block(0x140000ea1c0, {0x14000068340, 0x2, 0x2})
/usr/local/go/src/cmd/compile/internal/escape/escape.go:555 +0x48
cmd/compile/internal/escape.(*batch).walkFunc(0x1400000a480, 0x14000400160)
/usr/local/go/src/cmd/compile/internal/escape/escape.go:307 +0x118
cmd/compile/internal/escape.Batch({0x140000ae070, 0x1, 0x1}, 0x0)
/usr/local/go/src/cmd/compile/internal/escape/escape.go:229 +0x1d4
cmd/compile/internal/ir.(*bottomUpVisitor).visit(0x14000098750, 0x14000400160)
/usr/local/go/src/cmd/compile/internal/ir/scc.go:128 +0x3a8
cmd/compile/internal/ir.VisitFuncsBottomUp({0x14000068360, 0x2, 0x2}, 0x10556a6c8)
/usr/local/go/src/cmd/compile/internal/ir/scc.go:60 +0x11c
cmd/compile/internal/escape.Funcs(...)
/usr/local/go/src/cmd/compile/internal/escape/escape.go:1821
cmd/compile/internal/gc.Main(0x10556a630)
/usr/local/go/src/cmd/compile/internal/gc/main.go:253 +0xef4
main.main()
/usr/local/go/src/cmd/compile/main.go:55 +0x144
What version of Go are you using (
go version)?Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (
go env)?go envOutputWhat did you do?
See code on Go Play.
What did you expect to see?
A proper build-time error.
What did you see instead?
A crash in the compiler: