2017-04-30 11:06:27 -06:00
|
|
|
// 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() {
|
2020-12-21 14:41:23 -07:00
|
|
|
switch t := nil.(type) { // ERROR "cannot type switch on non-interface value|not an interface"
|
2017-04-30 11:06:27 -06:00
|
|
|
default:
|
|
|
|
_ = t
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
const x = 1
|
|
|
|
|
|
|
|
func G() {
|
2022-09-21 15:25:34 -06:00
|
|
|
switch t := x.(type) { // ERROR "cannot type switch on non-interface value|declared and not used|not an interface"
|
2017-04-30 11:06:27 -06:00
|
|
|
default:
|
|
|
|
}
|
|
|
|
}
|