mirror of
https://github.com/golang/go
synced 2024-11-05 18:36:08 +00:00
test: add test of select inside generic function
Make sure that we can import/export selects for generics. Change-Id: Ibf36e98fc574ce9275820aa426b3e6703b0aae6d Reviewed-on: https://go-review.googlesource.com/c/go/+/369101 Trust: Keith Randall <khr@golang.org> Trust: Dan Scales <danscales@google.com> Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Dan Scales <danscales@google.com>
This commit is contained in:
parent
d20a0bfc8a
commit
9ae0b35fad
3 changed files with 50 additions and 0 deletions
15
test/typeparam/select.dir/a.go
Normal file
15
test/typeparam/select.dir/a.go
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// Copyright 2021 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 a
|
||||||
|
|
||||||
|
func F[T any](c, d chan T) T {
|
||||||
|
select {
|
||||||
|
case x := <- c:
|
||||||
|
return x
|
||||||
|
case x := <- d:
|
||||||
|
return x
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
28
test/typeparam/select.dir/main.go
Normal file
28
test/typeparam/select.dir/main.go
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
// Copyright 2021 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 (
|
||||||
|
"sort"
|
||||||
|
|
||||||
|
"./a"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
c := make(chan int, 1)
|
||||||
|
d := make(chan int, 1)
|
||||||
|
|
||||||
|
c <- 5
|
||||||
|
d <- 6
|
||||||
|
|
||||||
|
var r [2]int
|
||||||
|
r[0] = a.F(c, d)
|
||||||
|
r[1] = a.F(c, d)
|
||||||
|
sort.Ints(r[:])
|
||||||
|
|
||||||
|
if r != [2]int{5, 6} {
|
||||||
|
panic("incorrect results")
|
||||||
|
}
|
||||||
|
}
|
7
test/typeparam/select.go
Normal file
7
test/typeparam/select.go
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
// rundir -G=3
|
||||||
|
|
||||||
|
// Copyright 2021 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 ignored
|
Loading…
Reference in a new issue