/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/issue43292.go
59 строк
632 B
Matthew Dempsky
cmd/compile: recognize reassignments involving receives
20 дек 2020, 12:43
20 дек 2020, 12:43
89b44b4
Код
Авторство
О чём код?
// run // Copyright 2020 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. package main func main() { { i := I(A{}) b := make(chan I, 1) b <- B{} var ok bool i, ok = <-b _ = ok i.M() } { i := I(A{}) b := make(chan I, 1) b <- B{} select { case i = <-b: } i.M() } { i := I(A{}) b := make(chan I, 1) b <- B{} var ok bool select { case i, ok = <-b: } _ = ok i.M() } } type I interface{ M() int } type T int func (T) M() int { return 0 } type A struct{ T } type B struct{ T }