// +build ignore package main var a int type t struct { a *map[string]chan *int } func fn() []t { m := make(map[string]chan *int) m[""] = make(chan *int, 1) m[""] <- &a return []t{t{a: &m}} } func main() { x := fn() print(x) // @pointstoquery <-(*x[i].a)[key] main.a }