3 // Tests of channel 'peers' query.
4 // See go.tools/guru/guru_test.go for explanation.
5 // See peers.golden for expected query results.
10 chA := make(chan *int)
14 chA2 := make(chan *int, 2)
19 chB := make(chan *int)
23 <-chA // @pointsto pointsto-chA "chA"
24 <-chA2 // @pointsto pointsto-chA2 "chA2"
25 <-chB // @pointsto pointsto-chB "chB"
28 case rA := <-chA: // @peers peer-recv-chA "<-"
29 _ = rA // @pointsto pointsto-rA "rA"
30 case rB := <-chB: // @peers peer-recv-chB "<-"
31 _ = rB // @pointsto pointsto-rB "rB"
33 case <-chA: // @peers peer-recv-chA' "<-"
35 case chA2 <- &a2: // @peers peer-send-chA' "<-"
41 close(chA) // @peers peer-close-chA "chA"
43 chC := make(chan *int)
44 (close)(chC) // @peers peer-close-chC "chC"
46 close := func(ch chan *int) chan *int {
50 close(chC) <- &b // @peers peer-send-chC "chC"
51 <-close(chC) // @peers peer-recv-chC "chC"