go/test/switch2.go

40 lines
778 B
Go
Raw Normal View History

// errorcheck
// Copyright 2015 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
func f() {
switch {
case 0; // ERROR "expecting := or = or : or comma|expecting :"
}
switch {
case 0; // ERROR "expecting := or = or : or comma|expecting :"
default:
}
switch {
case 0: case 0: default:
}
switch {
case 0: f(); case 0:
case 0: f() case 0: // ERROR "unexpected case at end of statement"
}
switch {
case 0: f(); default:
case 0: f() default: // ERROR "unexpected default at end of statement"
}
switch {
if x: // ERROR "expecting case or default or }"
}
}