Patrice Arruda | 7f4776e | 2020-06-25 11:55:41 -0700 | [diff] [blame] | 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() { |
Dan Willemsen | 14b5f99 | 2022-03-10 14:27:21 -0800 | [diff] [blame^] | 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" |
Patrice Arruda | 7f4776e | 2020-06-25 11:55:41 -0700 | [diff] [blame] | 14 | |
Dan Willemsen | 14b5f99 | 2022-03-10 14:27:21 -0800 | [diff] [blame^] | 15 | _ = string(true) // ERROR "cannot convert true \(.*untyped bool.*\) to type string|invalid type conversion" |
Patrice Arruda | 7f4776e | 2020-06-25 11:55:41 -0700 | [diff] [blame] | 16 | _ = string(-1) |
Dan Willemsen | 14b5f99 | 2022-03-10 14:27:21 -0800 | [diff] [blame^] | 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" |
Patrice Arruda | 7f4776e | 2020-06-25 11:55:41 -0700 | [diff] [blame] | 19 | |
Dan Willemsen | 14b5f99 | 2022-03-10 14:27:21 -0800 | [diff] [blame^] | 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" |
Patrice Arruda | 7f4776e | 2020-06-25 11:55:41 -0700 | [diff] [blame] | 22 | _ = int(-1) |
| 23 | _ = int(1) |
| 24 | _ = int(1.0) |
Dan Willemsen | 14b5f99 | 2022-03-10 14:27:21 -0800 | [diff] [blame^] | 25 | _ = int(-4 + 2i) // ERROR "truncated to integer|cannot convert -4 \+ 2i \(.*untyped complex.*\) to type int" |
Patrice Arruda | 7f4776e | 2020-06-25 11:55:41 -0700 | [diff] [blame] | 26 | |
Dan Willemsen | 14b5f99 | 2022-03-10 14:27:21 -0800 | [diff] [blame^] | 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" |
Patrice Arruda | 7f4776e | 2020-06-25 11:55:41 -0700 | [diff] [blame] | 30 | _ = uint(1) |
| 31 | _ = uint(1.0) |
Dan Willemsen | 14b5f99 | 2022-03-10 14:27:21 -0800 | [diff] [blame^] | 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" |
Patrice Arruda | 7f4776e | 2020-06-25 11:55:41 -0700 | [diff] [blame] | 34 | |
Dan Willemsen | 14b5f99 | 2022-03-10 14:27:21 -0800 | [diff] [blame^] | 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" |
Patrice Arruda | 7f4776e | 2020-06-25 11:55:41 -0700 | [diff] [blame] | 37 | _ = float64(-1) |
| 38 | _ = float64(1) |
| 39 | _ = float64(1.0) |
Dan Willemsen | 14b5f99 | 2022-03-10 14:27:21 -0800 | [diff] [blame^] | 40 | _ = float64(-4 + 2i) // ERROR "truncated to|cannot convert -4 \+ 2i \(.*untyped complex.*\) to type float64" |
Patrice Arruda | 7f4776e | 2020-06-25 11:55:41 -0700 | [diff] [blame] | 41 | |
Dan Willemsen | 14b5f99 | 2022-03-10 14:27:21 -0800 | [diff] [blame^] | 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" |
Patrice Arruda | 7f4776e | 2020-06-25 11:55:41 -0700 | [diff] [blame] | 44 | _ = complex128(-1) |
| 45 | _ = complex128(1) |
| 46 | _ = complex128(1.0) |
| 47 | } |