1// errorcheck 2 3// Copyright 2015 The Go Authors. All rights reserved. 4// Use of this source code is governed by a BSD-style 5// license that can be found in the LICENSE file. 6 7// Verify that erroneous switch statements are detected by the compiler. 8// Does not compile. 9 10package main 11 12func f() { 13 switch { 14 case 0; // ERROR "expecting := or = or : or comma|expected :" 15 } 16 17 switch { 18 case 0; // ERROR "expecting := or = or : or comma|expected :" 19 default: 20 } 21 22 switch { 23 case 0: case 0: default: 24 } 25 26 switch { 27 case 0: f(); case 0: 28 case 0: f() case 0: // ERROR "unexpected case at end of statement" 29 } 30 31 switch { 32 case 0: f(); default: 33 case 0: f() default: // ERROR "unexpected default at end of statement" 34 } 35 36 switch { 37 if x: // ERROR "expected case or default or }" 38 } 39} 40