mirror of
https://github.com/golang/go
synced 2024-09-04 23:44:16 +00:00
![Tyler Bunnell](/assets/img/avatar_default.png)
Small change to cmd/gc to catch a "fallthrough" in the final case of a switch. R=golang-dev, rsc, mtj CC=golang-dev https://golang.org/cl/7841043
37 lines
526 B
Go
37 lines
526 B
Go
// errorcheck
|
|
|
|
// Copyright 2011 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 erroneous switch statements are detected by the compiler.
|
|
// Does not compile.
|
|
|
|
package main
|
|
|
|
type I interface {
|
|
M()
|
|
}
|
|
|
|
func bad() {
|
|
|
|
i5 := 5
|
|
switch i5 {
|
|
case 5:
|
|
fallthrough // ERROR "cannot fallthrough final case in switch"
|
|
}
|
|
}
|
|
|
|
func good() {
|
|
var i interface{}
|
|
var s string
|
|
|
|
switch i {
|
|
case s:
|
|
}
|
|
|
|
switch s {
|
|
case i:
|
|
}
|
|
}
|