Initial commit: Go 1.23 release state
This commit is contained in:
53
test/fixedbugs/issue7997.go
Normal file
53
test/fixedbugs/issue7997.go
Normal file
@@ -0,0 +1,53 @@
|
||||
// compile
|
||||
|
||||
// Copyright 2014 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.
|
||||
|
||||
// /tmp/x.go:3: internal error: f &p (type *int) recorded as live on entry
|
||||
|
||||
package p
|
||||
|
||||
func f(ch chan int) *int {
|
||||
select {
|
||||
case p1x := <-ch:
|
||||
return &p1x
|
||||
default:
|
||||
// ok
|
||||
}
|
||||
select {
|
||||
case p1 := <-ch:
|
||||
return &p1
|
||||
default:
|
||||
// ok
|
||||
}
|
||||
select {
|
||||
case p2 := <-ch:
|
||||
return &p2
|
||||
case p3 := <-ch:
|
||||
return &p3
|
||||
default:
|
||||
// ok
|
||||
}
|
||||
select {
|
||||
case p4, ok := <-ch:
|
||||
if ok {
|
||||
return &p4
|
||||
}
|
||||
default:
|
||||
// ok
|
||||
}
|
||||
select {
|
||||
case p5, ok := <-ch:
|
||||
if ok {
|
||||
return &p5
|
||||
}
|
||||
case p6, ok := <-ch:
|
||||
if !ok {
|
||||
return &p6
|
||||
}
|
||||
default:
|
||||
// ok
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user