blob: 2888af626e70a79ea8d3b8406f9afb41c8bb7e93 [file] [log] [blame]
// 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.
// go:build ignore
package testdata
func foo(c chan interface{}, j int) {
c <- j + 1
}
func Baz(i int) {
c := make(chan interface{})
go foo(c, i)
x := <-c
print(x)
}
// Relevant SSA:
// func foo(c chan interface{}, j int):
// t0 = j + 1:int
// t1 = make interface{} <- int (t0)
// send c <- t1 // t1 -> chan {}interface
// return
//
// func Baz(i int):
// t0 = make chan interface{} 0:int
// go foo(t0, i)
// t1 = <-t0 // chan {}interface -> t1
// t2 = print(t1)
// return
// WANT:
// Channel(chan interface{}) -> Local(t1)
// Local(t1) -> Channel(chan interface{})