mirror of
				https://github.com/golang/go.git
				synced 2025-10-31 00:30:57 +00:00 
			
		
		
		
	 f6a952599e
			
		
	
	
		f6a952599e
		
	
	
	
	
		
			
			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
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			526 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			36 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:
 | |
| 	}
 | |
| }
 |