Initial commit: Go 1.23 release state
This commit is contained in:
50
test/fixedbugs/bug196.go
Normal file
50
test/fixedbugs/bug196.go
Normal file
@@ -0,0 +1,50 @@
|
||||
// run
|
||||
|
||||
// Copyright 2009 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package main
|
||||
|
||||
var m = map[int]int{0: 0, 1: 0}
|
||||
var nf = 0
|
||||
var i int
|
||||
|
||||
func multi() (int, int) { return 1, 2 }
|
||||
|
||||
func xxx() {
|
||||
var c chan int
|
||||
x, ok := <-c
|
||||
|
||||
var m map[int]int
|
||||
x, ok = m[1]
|
||||
|
||||
var i interface{}
|
||||
var xx int
|
||||
xx, ok = i.(int)
|
||||
|
||||
a, b := multi()
|
||||
|
||||
_, _, _, _, _ = x, ok, xx, a, b
|
||||
}
|
||||
|
||||
func f() map[int]int {
|
||||
nf++
|
||||
return m
|
||||
}
|
||||
|
||||
func g() *int {
|
||||
nf++
|
||||
return &i
|
||||
}
|
||||
|
||||
func main() {
|
||||
f()[0]++
|
||||
f()[1] += 2
|
||||
*g() %= 2
|
||||
if nf != 3 {
|
||||
println("too many calls:", nf)
|
||||
panic("fail")
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user