]> Cypherpunks.ru repositories - gostls13.git/blobdiff - test/convert1.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / test / convert1.go
index 9de1b7e0170ed23503c55b83ba7b88b95f953aef..afb63cd55a102d051e6bc22992eb67cb8fdab2b6 100644 (file)
@@ -1,9 +1,12 @@
-// errchk $G -e $D/$F.go
+// errorcheck
 
-// Copyright 2011 The Go Authors.  All rights reserved.
+// Copyright 2011 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.
 
+// Verify that illegal conversions involving strings are detected.
+// Does not compile.
+
 package main
 
 type Tbyte []byte
@@ -25,72 +28,72 @@ func main() {
        _ = string(s)
        _ = []byte(s)
        _ = []rune(s)
-       _ = []int64(s) // ERROR "cannot convert.*\[\]int64"
+       _ = []int64(s) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
        _ = Tstring(s)
        _ = Tbyte(s)
        _ = Trune(s)
-       _ = Tint64(s) // ERROR "cannot convert.*Tint64"
+       _ = Tint64(s) // ERROR "cannot convert.*Tint64|invalid type conversion"
 
        _ = string(sb)
        _ = []byte(sb)
-       _ = []rune(sb)  // ERROR "cannot convert.*\[\]rune"
-       _ = []int64(sb) // ERROR "cannot convert.*\[\]int64"
+       _ = []rune(sb)  // ERROR "cannot convert.*\[\]rune|invalid type conversion"
+       _ = []int64(sb) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
        _ = Tstring(sb)
        _ = Tbyte(sb)
-       _ = Trune(sb)  // ERROR "cannot convert.*Trune"
-       _ = Tint64(sb) // ERROR "cannot convert.*Tint64"
+       _ = Trune(sb)  // ERROR "cannot convert.*Trune|invalid type conversion"
+       _ = Tint64(sb) // ERROR "cannot convert.*Tint64|invalid type conversion"
 
        _ = string(sr)
-       _ = []byte(sr) // ERROR "cannot convert.*\[\]byte"
+       _ = []byte(sr) // ERROR "cannot convert.*\[\]byte|invalid type conversion"
        _ = []rune(sr)
-       _ = []int64(sr) // ERROR "cannot convert.*\[\]int64"
+       _ = []int64(sr) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
        _ = Tstring(sr)
-       _ = Tbyte(sr) // ERROR "cannot convert.*Tbyte"
+       _ = Tbyte(sr) // ERROR "cannot convert.*Tbyte|invalid type conversion"
        _ = Trune(sr)
-       _ = Tint64(sr) // ERROR "cannot convert.*Tint64"
+       _ = Tint64(sr) // ERROR "cannot convert.*Tint64|invalid type conversion"
 
-       _ = string(si) // ERROR "cannot convert.* string"
-       _ = []byte(si) // ERROR "cannot convert.*\[\]byte"
-       _ = []rune(si) // ERROR "cannot convert.*\[\]rune"
+       _ = string(si) // ERROR "cannot convert.* string|invalid type conversion"
+       _ = []byte(si) // ERROR "cannot convert.*\[\]byte|invalid type conversion"
+       _ = []rune(si) // ERROR "cannot convert.*\[\]rune|invalid type conversion"
        _ = []int64(si)
-       _ = Tstring(si) // ERROR "cannot convert.*Tstring"
-       _ = Tbyte(si)   // ERROR "cannot convert.*Tbyte"
-       _ = Trune(si)   // ERROR "cannot convert.*Trune"
+       _ = Tstring(si) // ERROR "cannot convert.*Tstring|invalid type conversion"
+       _ = Tbyte(si)   // ERROR "cannot convert.*Tbyte|invalid type conversion"
+       _ = Trune(si)   // ERROR "cannot convert.*Trune|invalid type conversion"
        _ = Tint64(si)
 
        _ = string(ts)
        _ = []byte(ts)
        _ = []rune(ts)
-       _ = []int64(ts) // ERROR "cannot convert.*\[\]int64"
+       _ = []int64(ts) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
        _ = Tstring(ts)
        _ = Tbyte(ts)
        _ = Trune(ts)
-       _ = Tint64(ts) // ERROR "cannot convert.*Tint64"
+       _ = Tint64(ts) // ERROR "cannot convert.*Tint64|invalid type conversion"
 
        _ = string(tsb)
        _ = []byte(tsb)
-       _ = []rune(tsb)  // ERROR "cannot convert.*\[\]rune"
-       _ = []int64(tsb) // ERROR "cannot convert.*\[\]int64"
+       _ = []rune(tsb)  // ERROR "cannot convert.*\[\]rune|invalid type conversion"
+       _ = []int64(tsb) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
        _ = Tstring(tsb)
        _ = Tbyte(tsb)
-       _ = Trune(tsb)  // ERROR "cannot convert.*Trune"
-       _ = Tint64(tsb) // ERROR "cannot convert.*Tint64"
+       _ = Trune(tsb)  // ERROR "cannot convert.*Trune|invalid type conversion"
+       _ = Tint64(tsb) // ERROR "cannot convert.*Tint64|invalid type conversion"
 
        _ = string(tsr)
-       _ = []byte(tsr) // ERROR "cannot convert.*\[\]byte"
+       _ = []byte(tsr) // ERROR "cannot convert.*\[\]byte|invalid type conversion"
        _ = []rune(tsr)
-       _ = []int64(tsr) // ERROR "cannot convert.*\[\]int64"
+       _ = []int64(tsr) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
        _ = Tstring(tsr)
-       _ = Tbyte(tsr) // ERROR "cannot convert.*Tbyte"
+       _ = Tbyte(tsr) // ERROR "cannot convert.*Tbyte|invalid type conversion"
        _ = Trune(tsr)
-       _ = Tint64(tsr) // ERROR "cannot convert.*Tint64"
+       _ = Tint64(tsr) // ERROR "cannot convert.*Tint64|invalid type conversion"
 
-       _ = string(tsi) // ERROR "cannot convert.* string"
-       _ = []byte(tsi) // ERROR "cannot convert.*\[\]byte"
-       _ = []rune(tsi) // ERROR "cannot convert.*\[\]rune"
+       _ = string(tsi) // ERROR "cannot convert.* string|invalid type conversion"
+       _ = []byte(tsi) // ERROR "cannot convert.*\[\]byte|invalid type conversion"
+       _ = []rune(tsi) // ERROR "cannot convert.*\[\]rune|invalid type conversion"
        _ = []int64(tsi)
-       _ = Tstring(tsi) // ERROR "cannot convert.*Tstring"
-       _ = Tbyte(tsi)   // ERROR "cannot convert.*Tbyte"
-       _ = Trune(tsi)   // ERROR "cannot convert.*Trune"
+       _ = Tstring(tsi) // ERROR "cannot convert.*Tstring|invalid type conversion"
+       _ = Tbyte(tsi)   // ERROR "cannot convert.*Tbyte|invalid type conversion"
+       _ = Trune(tsi)   // ERROR "cannot convert.*Trune|invalid type conversion"
        _ = Tint64(tsi)
 }