diff options
author | Chris Manghane <cmang@golang.org> | 2014-08-11 16:11:55 -0700 |
---|---|---|
committer | Chris Manghane <cmang@golang.org> | 2014-08-11 16:11:55 -0700 |
commit | 3b851200349bccc6484291cd7af5f7d8b464c84d (patch) | |
tree | 1ac2f94d45bf3bac9d03732cb83901c3094c4c3b /test | |
parent | 7444629bd4878337e23ecbe1aba5c6a59c668792 (diff) | |
download | go-3b851200349bccc6484291cd7af5f7d8b464c84d.tar.gz |
cmd/gc: comma-ok assignments produce untyped bool as 2nd result
LGTM=rsc
R=gri, rsc
CC=golang-codereviews
https://codereview.appspot.com/127950043
Diffstat (limited to 'test')
-rw-r--r-- | test/fixedbugs/issue8475.go | 25 | ||||
-rw-r--r-- | test/named1.go | 8 |
2 files changed, 29 insertions, 4 deletions
diff --git a/test/fixedbugs/issue8475.go b/test/fixedbugs/issue8475.go new file mode 100644 index 000000000..e69794534 --- /dev/null +++ b/test/fixedbugs/issue8475.go @@ -0,0 +1,25 @@ +// build + +// Copyright 2014 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. + +// Issue 8745: comma-ok assignments should produce untyped bool as 2nd result. + +package main + +type mybool bool + +func main() { + var ok mybool + _ = ok + + var i interface{} + _, ok = i.(int) + + var m map[int]int + _, ok = m[0] + + var c chan int + _, ok = <-c +} diff --git a/test/named1.go b/test/named1.go index 62b874c5c..febad64ec 100644 --- a/test/named1.go +++ b/test/named1.go @@ -41,21 +41,21 @@ func main() { asBool(1 != 2) // ok now asBool(i < j) // ok now - _, b = m[2] // ERROR "cannot .* bool.*type Bool" + _, b = m[2] // ok now var inter interface{} - _, b = inter.(Map) // ERROR "cannot .* bool.*type Bool" + _, b = inter.(Map) // ok now _ = b var minter interface { M() } - _, b = minter.(Map) // ERROR "cannot .* bool.*type Bool" + _, b = minter.(Map) // ok now _ = b _, bb := <-c asBool(bb) // ERROR "cannot use.*type bool.*as type Bool" - _, b = <-c // ERROR "cannot .* bool.*type Bool" + _, b = <-c // ok now _ = b asString(String(slice)) // ok |