summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorChris Manghane <cmang@golang.org>2014-08-11 16:11:55 -0700
committerChris Manghane <cmang@golang.org>2014-08-11 16:11:55 -0700
commit3b851200349bccc6484291cd7af5f7d8b464c84d (patch)
tree1ac2f94d45bf3bac9d03732cb83901c3094c4c3b /test
parent7444629bd4878337e23ecbe1aba5c6a59c668792 (diff)
downloadgo-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.go25
-rw-r--r--test/named1.go8
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