mirror of
https://github.com/golang/go
synced 2024-11-02 05:32:33 +00:00
d05a1238d6
If an error was already printed during LHS conversion step, we don't reprint the "cannot convert" error. In particular, this prevents `_ = int("1")` (and all similar casts) from resulting in multiple identical error messages being printed. Fixes #20812. Change-Id: If6e52c59eab438599d641ecf6f110ebafca740a9 Reviewed-on: https://go-review.googlesource.com/46912 Reviewed-by: Robert Griesemer <gri@golang.org>
60 lines
1.1 KiB
Go
60 lines
1.1 KiB
Go
// errorcheck
|
|
|
|
// Copyright 2009 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 renamed identifiers no longer have their old meaning.
|
|
// Does not compile.
|
|
|
|
package main
|
|
|
|
func main() {
|
|
var n byte // ERROR "not a type|expected type"
|
|
var y = float32(0) // ERROR "cannot call|expected function"
|
|
const (
|
|
a = 1 + iota // ERROR "invalid operation|incompatible types" "cannot convert iota"
|
|
)
|
|
|
|
}
|
|
|
|
const (
|
|
append = 1
|
|
bool = 2
|
|
byte = 3
|
|
complex = 4
|
|
complex64 = 5
|
|
complex128 = 6
|
|
cap = 7
|
|
close = 8
|
|
delete = 9
|
|
error = 10
|
|
false = 11
|
|
float32 = 12
|
|
float64 = 13
|
|
imag = 14
|
|
int = 15
|
|
int8 = 16
|
|
int16 = 17
|
|
int32 = 18
|
|
int64 = 19
|
|
len = 20
|
|
make = 21
|
|
new = 22
|
|
nil = 23
|
|
panic = 24
|
|
print = 25
|
|
println = 26
|
|
real = 27
|
|
recover = 28
|
|
rune = 29
|
|
string = 30
|
|
true = 31
|
|
uint = 32
|
|
uint8 = 33
|
|
uint16 = 34
|
|
uint32 = 35
|
|
uint64 = 36
|
|
uintptr = 37
|
|
iota = "38"
|
|
)
|