mirror of
				https://github.com/golang/go.git
				synced 2025-10-31 08:40:55 +00:00 
			
		
		
		
	 d1b434b839
			
		
	
	
		d1b434b839
		
	
	
	
	
		
			
			undef.go:12:6: error: reference to undefined name ‘x’ undef.go:13:6: error: reference to undefined name ‘x’ undef.go:14:6: error: reference to undefined name ‘x’ undef.go:22:25: error: reference to undefined name ‘y’ undef.go:42:11: error: reference to undefined name ‘v’ R=rsc CC=golang-dev https://golang.org/cl/2152045
		
			
				
	
	
		
			44 lines
		
	
	
	
		
			750 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			750 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| // errchk $G -e $D/$F.go
 | |
| 
 | |
| // Copyright 2010 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.
 | |
| 
 | |
| // Check line numbers in error messages.
 | |
| 
 | |
| package main
 | |
| 
 | |
| var (
 | |
| 	_ = x	// ERROR "undefined.*x"
 | |
| 	_ = x	// ERROR "undefined.*x"
 | |
| 	_ = x	// ERROR "undefined.*x"
 | |
| )
 | |
| 
 | |
| type T struct {
 | |
| 	y int
 | |
| }
 | |
| 
 | |
| func foo() *T { return &T{y: 99} }
 | |
| func bar() int { return y }	// ERROR "undefined.*y"
 | |
| 
 | |
| type T1 struct {
 | |
| 	y1 int
 | |
| }
 | |
| 
 | |
| func foo1() *T1 { return &T1{y1: 99} }
 | |
| var y1 = 2
 | |
| func bar1() int { return y1 }
 | |
| 
 | |
| func f1(val interface{}) {
 | |
| 	switch v := val.(type) {
 | |
| 	default:
 | |
| 		println(v)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func f2(val interface{}) {
 | |
| 	switch val.(type) {
 | |
| 	default:
 | |
| 		println(v)	// ERROR "undefined.*v"
 | |
| 	}
 | |
| }
 |