Skip to content

go/types, types2: scope for :=-defined range iteration variables is incorrect #51437

Closed
@contrast-jproberts

Description

@contrast-jproberts

What version of Go are you using (go version)?

$ go version
go version go1.18rc1 darwin/amd64

Does this issue reproduce with the latest release?

It reproduces with the latest release candidate.

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GOOS="darwin"
GOARCH="amd64"

What did you do?

https://go.dev/play/p/cO3Omj1diPk?v=gotip

What did you expect to see?

The same result as running with go1.17.7: "Hello, 世界"

https://go.dev/play/p/cO3Omj1diPk

What did you see instead?

./prog.go:13:3: internal compiler error: 'foo': Value live at entry. It shouldn't be. func foo, node tmpl, value nil

goroutine 6 [running]:
runtime/debug.Stack()
	/usr/local/go/src/runtime/debug/stack.go:24 +0x65
cmd/compile/internal/base.FatalfAt({0xc887c0?, 0x0?}, {0xc0000e2000, 0x46}, {0xc000629e40, 0x4, 0x4})
	/usr/local/go/src/cmd/compile/internal/base/print.go:227 +0x1d7
cmd/compile/internal/base.Fatalf(...)
	/usr/local/go/src/cmd/compile/internal/base/print.go:196
cmd/compile/internal/ssagen.(*ssafn).Fatalf(0xc0000b2ebd?, {0x3?, 0x0?}, {0xd2eec8, 0x40}, {0xc0006814a0, 0x3, 0xa9c859?})
	/usr/local/go/src/cmd/compile/internal/ssagen/ssa.go:7729 +0x17d
cmd/compile/internal/ssagen.(*state).Fatalf(...)
	/usr/local/go/src/cmd/compile/internal/ssagen/ssa.go:953
cmd/compile/internal/ssagen.(*state).variable(0xc00001ec00, {0xe7c158?, 0xc000567980?}, 0xc000696010?)
	/usr/local/go/src/cmd/compile/internal/ssagen/ssa.go:6451 +0x202
cmd/compile/internal/ssagen.(*state).exprCheckPtr(0xc00001ec00, {0xe7c158?, 0xc000567980?}, 0x1)
	/usr/local/go/src/cmd/compile/internal/ssagen/ssa.go:2602 +0x1b7
cmd/compile/internal/ssagen.(*state).expr(...)
	/usr/local/go/src/cmd/compile/internal/ssagen/ssa.go:2560
cmd/compile/internal/ssagen.(*state).putArg(0xc00001ec00, {0xe7c158, 0xc000567980}, 0x0?)
	/usr/local/go/src/cmd/compile/internal/ssagen/ssa.go:5752 +0x51
cmd/compile/internal/ssagen.(*state).call(0xc00001ec00, 0xc0005783f0, 0x0, 0x0)
	/usr/local/go/src/cmd/compile/internal/ssagen/ssa.go:5111 +0x2593
cmd/compile/internal/ssagen.(*state).callResult(0xc00001ec00?, 0x0?, 0x0?)
	/usr/local/go/src/cmd/compile/internal/ssagen/ssa.go:4931 +0x1b
cmd/compile/internal/ssagen.(*state).exprCheckPtr(0xc00001ec00, {0xe7add0?, 0xc0005783f0?}, 0x1)
	/usr/local/go/src/cmd/compile/internal/ssagen/ssa.go:3207 +0x1ae5
cmd/compile/internal/ssagen.(*state).expr(...)
	/usr/local/go/src/cmd/compile/internal/ssagen/ssa.go:2560
cmd/compile/internal/ssagen.(*state).stmt(0xc00001ec00, {0xe7a9e8, 0xc00066f680?})
	/usr/local/go/src/cmd/compile/internal/ssagen/ssa.go:1633 +0xb71
cmd/compile/internal/ssagen.(*state).stmtList(...)
	/usr/local/go/src/cmd/compile/internal/ssagen/ssa.go:1399
cmd/compile/internal/ssagen.buildssa(0xc0003b2dc0, 0x0)
	/usr/local/go/src/cmd/compile/internal/ssagen/ssa.go:582 +0x1eb4
cmd/compile/internal/ssagen.Compile(0xc0003b2dc0, 0xc000043f90?)
	/usr/local/go/src/cmd/compile/internal/ssagen/pgen.go:183 +0x4c
cmd/compile/internal/gc.compileFunctions.func4.1(0x0?)
	/usr/local/go/src/cmd/compile/internal/gc/compile.go:153 +0x3a
cmd/compile/internal/gc.compileFunctions.func3.1()
	/usr/local/go/src/cmd/compile/internal/gc/compile.go:140 +0x4d
created by cmd/compile/internal/gc.compileFunctions.func3
	/usr/local/go/src/cmd/compile/internal/gc/compile.go:138 +0x78


Go build failed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions