1// run
2
3// Copyright 2021 The Go Authors. All rights reserved.
4// Use of this source code is governed by a BSD-style
5// license that can be found in the LICENSE file.
6
7package main
8
9import "fmt"
10
11func main() {
12	ch := make(chan int, 1)
13
14	var ptrs [2]*int
15	for i := range ptrs {
16		ch <- i
17		select {
18		case x := <-ch:
19			ptrs[i] = &x
20		}
21	}
22
23	for i, ptr := range ptrs {
24		if *ptr != i {
25			panic(fmt.Sprintf("got *ptr %d, want %d", *ptr, i))
26		}
27	}
28}
29