Source file test/fixedbugs/issue21979.go
1 // errorcheck 2 3 // Copyright 2019 The Go Authors. All rights reserved. 4 // Use of this source code is governed by a BSD-style 5 // license that can be found in the LICENSE file. 6 7 package p 8 9 func f() { 10 _ = bool("") // ERROR "cannot convert .. \(.*untyped string.*\) to type bool|invalid type conversion" 11 _ = bool(1) // ERROR "cannot convert 1 \(.*untyped int.*\) to type bool|invalid type conversion" 12 _ = bool(1.0) // ERROR "cannot convert 1.* \(.*untyped float.*\) to type bool|invalid type conversion" 13 _ = bool(-4 + 2i) // ERROR "cannot convert -4 \+ 2i \(.*untyped complex.*\) to type bool|invalid type conversion" 14 15 _ = string(true) // ERROR "cannot convert true \(.*untyped bool.*\) to type string|invalid type conversion" 16 _ = string(-1) 17 _ = string(1.0) // ERROR "cannot convert 1.* \(.*untyped float.*\) to type string|invalid type conversion" 18 _ = string(-4 + 2i) // ERROR "cannot convert -4 \+ 2i \(.*untyped complex.*\) to type string|invalid type conversion" 19 20 _ = int("") // ERROR "cannot convert .. \(.*untyped string.*\) to type int|invalid type conversion" 21 _ = int(true) // ERROR "cannot convert true \(.*untyped bool.*\) to type int|invalid type conversion" 22 _ = int(-1) 23 _ = int(1) 24 _ = int(1.0) 25 _ = int(-4 + 2i) // ERROR "truncated to integer|cannot convert -4 \+ 2i \(.*untyped complex.*\) to type int" 26 27 _ = uint("") // ERROR "cannot convert .. \(.*untyped string.*\) to type uint|invalid type conversion" 28 _ = uint(true) // ERROR "cannot convert true \(.*untyped bool.*\) to type uint|invalid type conversion" 29 _ = uint(-1) // ERROR "constant -1 overflows uint|integer constant overflow|cannot convert -1 \(untyped int constant\) to type uint" 30 _ = uint(1) 31 _ = uint(1.0) 32 // types1 reports extra error "truncated to integer" 33 _ = uint(-4 + 2i) // ERROR "constant -4 overflows uint|truncated to integer|cannot convert -4 \+ 2i \(untyped complex constant.*\) to type uint" 34 35 _ = float64("") // ERROR "cannot convert .. \(.*untyped string.*\) to type float64|invalid type conversion" 36 _ = float64(true) // ERROR "cannot convert true \(.*untyped bool.*\) to type float64|invalid type conversion" 37 _ = float64(-1) 38 _ = float64(1) 39 _ = float64(1.0) 40 _ = float64(-4 + 2i) // ERROR "truncated to|cannot convert -4 \+ 2i \(.*untyped complex.*\) to type float64" 41 42 _ = complex128("") // ERROR "cannot convert .. \(.*untyped string.*\) to type complex128|invalid type conversion" 43 _ = complex128(true) // ERROR "cannot convert true \(.*untyped bool.*\) to type complex128|invalid type conversion" 44 _ = complex128(-1) 45 _ = complex128(1) 46 _ = complex128(1.0) 47 } 48