go/test/fixedbugs/issue20185.go
Robert Griesemer 4360fd8d6f go/types, types2: use "and not used" instead of "but not used" in error messages
This matches longstanding compiler behavior.

Also, for unused packages, report:

`"pkg" imported and not used`
`"pkg" imported as X and not used`

This matches the other `X declared and not used` errors.

For #55326.

Change-Id: Ie71cf662fb5f4648449c64fc51bede298a1bdcbf
Reviewed-on: https://go-review.googlesource.com/c/go/+/432557
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
Reviewed-by: Robert Griesemer <gri@google.com>
Auto-Submit: Robert Griesemer <gri@google.com>
Run-TryBot: Robert Griesemer <gri@google.com>
2022-09-27 21:10:19 +00:00

26 lines
581 B
Go

// errorcheck
// Copyright 2017 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 20185: type switching on untyped values (e.g. nil or consts)
// caused an internal compiler error.
package p
func F() {
switch t := nil.(type) { // ERROR "cannot type switch on non-interface value|not an interface"
default:
_ = t
}
}
const x = 1
func G() {
switch t := x.(type) { // ERROR "cannot type switch on non-interface value|declared and not used|not an interface"
default:
}
}