blob: 0a77e59370bc4116c848295e807a5c6ba2744fb1 [file] [log] [blame]
Russ Cox57eb06f2012-02-16 23:51:04 -05001// errorcheck
Russ Cox76da2782010-06-12 11:17:24 -07002
3// Copyright 2010 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
Rob Pike80a97832012-02-24 11:48:19 +11007// Test line numbers in error messages.
8// Does not compile.
Russ Cox76da2782010-06-12 11:17:24 -07009
10package main
11
12var (
Ian Lance Taylord1b434b2010-09-10 12:44:37 -070013 _ = x // ERROR "undefined.*x"
14 _ = x // ERROR "undefined.*x"
15 _ = x // ERROR "undefined.*x"
Russ Cox76da2782010-06-12 11:17:24 -070016)
17
18type T struct {
19 y int
20}
21
22func foo() *T { return &T{y: 99} }
Ian Lance Taylord1b434b2010-09-10 12:44:37 -070023func bar() int { return y } // ERROR "undefined.*y"
Russ Cox76da2782010-06-12 11:17:24 -070024
25type T1 struct {
26 y1 int
27}
28
29func foo1() *T1 { return &T1{y1: 99} }
30var y1 = 2
31func bar1() int { return y1 }
32
33func f1(val interface{}) {
34 switch v := val.(type) {
35 default:
36 println(v)
37 }
38}
39
40func f2(val interface{}) {
41 switch val.(type) {
42 default:
Ian Lance Taylord1b434b2010-09-10 12:44:37 -070043 println(v) // ERROR "undefined.*v"
Russ Cox76da2782010-06-12 11:17:24 -070044 }
45}