Initial commit: Go 1.23 release state
This commit is contained in:
53
test/fixedbugs/bug262.go
Normal file
53
test/fixedbugs/bug262.go
Normal file
@@ -0,0 +1,53 @@
|
||||
// run
|
||||
|
||||
// Copyright 2010 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
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
var trace string
|
||||
|
||||
func f() string {
|
||||
trace += "f"
|
||||
return "abc"
|
||||
}
|
||||
|
||||
func g() *error {
|
||||
trace += "g"
|
||||
var x error
|
||||
return &x
|
||||
}
|
||||
|
||||
func h() string {
|
||||
trace += "h"
|
||||
return "123"
|
||||
}
|
||||
|
||||
func i() *int {
|
||||
trace += "i"
|
||||
var i int
|
||||
return &i
|
||||
}
|
||||
|
||||
func main() {
|
||||
m := make(map[string]int)
|
||||
m[f()], *g() = strconv.Atoi(h())
|
||||
if m["abc"] != 123 || trace != "fgh" {
|
||||
println("BUG", m["abc"], trace)
|
||||
panic("fail")
|
||||
}
|
||||
mm := make(map[string]error)
|
||||
trace = ""
|
||||
mm["abc"] = errors.New("invalid")
|
||||
*i(), mm[f()] = strconv.Atoi(h())
|
||||
if mm["abc"] != nil || trace != "ifh" {
|
||||
println("BUG1", mm["abc"], trace)
|
||||
panic("fail")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user