mirror of
https://github.com/golang/go
synced 2024-11-06 19:36:30 -07:00
22e91af008
In situations like: var buf bytes.Buffer var w io.Writer = &b<> if we want to complete to "buf" properly we need to apply the "&" type modifier to buf's type of bytes.Buffer to see that it is assignable to type io.Writer. Previously we applied type modifiers in reverse to the "expected" type (io.Writer in this case), but that is obviously incorrect in this situation since it is nonsensical to dereference (the reverse of "&") io.Writer. Change-Id: Ib7ab5761f625217e023286384c23b8c60e677aac GitHub-Last-Rev: 4be528f2572c9c987334552e3f8a31d4eddce81a GitHub-Pull-Request: golang/tools#121 Reviewed-on: https://go-review.googlesource.com/c/tools/+/182598 Run-TryBot: Rebecca Stambler <rstambler@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rebecca Stambler <rstambler@golang.org>
26 lines
613 B
Go
26 lines
613 B
Go
package channel
|
|
|
|
func _() {
|
|
var (
|
|
aa = "123" //@item(channelAA, "aa", "string", "var")
|
|
ab = 123 //@item(channelAB, "ab", "int", "var")
|
|
)
|
|
|
|
{
|
|
type myChan chan int
|
|
var mc myChan
|
|
mc <- a //@complete(" //", channelAB, channelAA)
|
|
}
|
|
|
|
{
|
|
var ac chan int //@item(channelAC, "ac", "chan int", "var")
|
|
a <- a //@complete(" <-", channelAC, channelAA, channelAB)
|
|
}
|
|
|
|
{
|
|
var foo chan int //@item(channelFoo, "foo", "chan int", "var")
|
|
wantsInt := func(int) {} //@item(channelWantsInt, "wantsInt", "func(int)", "var")
|
|
wantsInt(<-) //@complete(")", channelFoo, channelAB, channelWantsInt, channelAA)
|
|
}
|
|
}
|