mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
Avoids problems with local declarations shadowing other names.
We write a more explicit form than the incoming program, so there
may be additional type annotations. For example:
int := "hello"
j := 2
would normally turn into
var int string = "hello"
var j int = 2
but the int variable shadows the int type in the second line.
This CL marks all local variables with a per-function sequence number,
so that this would instead be:
var int·1 string = "hello"
var j·2 int = 2
Fixes #4326.
R=ken2
CC=golang-dev
https://golang.org/cl/6816100
11 lines
136 B
Go
11 lines
136 B
Go
package main
|
|
|
|
import "./q1"
|
|
|
|
func main() {
|
|
x := 1
|
|
y := q1.Deref(&x)
|
|
if y != 1 {
|
|
panic("y != 1")
|
|
}
|
|
}
|