mirror of
https://github.com/hanzoai/yaegi.git
synced 2026-10-01 00:49:47 +00:00
Do not attempt to init a non-existent channel setting when in default communication clause in select. Fixes #1442.
42 lines
593 B
Go
42 lines
593 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
func main() {
|
|
ctx, _ := context.WithCancel(context.Background())
|
|
ch := make(chan string, 20)
|
|
defer close(ch)
|
|
|
|
go func(ctx context.Context, ch <-chan string) {
|
|
for {
|
|
select {
|
|
case <-ctx.Done():
|
|
return
|
|
case tmp := <-ch:
|
|
_ = tmp
|
|
}
|
|
}
|
|
}(ctx, ch)
|
|
|
|
for _, i := range "abcdef" {
|
|
for _, j := range "0123456789" {
|
|
// i, j := "a", "0"
|
|
for _, k := range "ABCDEF" {
|
|
select {
|
|
case <-ctx.Done():
|
|
return
|
|
default:
|
|
tmp := string(i) + string(j) + string(k)
|
|
ch <- tmp
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return
|
|
}
|
|
|
|
// Output:
|
|
//
|