1// errorcheck
2
3// Copyright 2009 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// Test that incorrect uses of the blank identifier are caught.
8// Does not compile.
9
10package _	// ERROR "invalid package name"
11
12var t struct {
13	_ int
14}
15
16func (x int) _() { // ERROR "methods on non-local type"
17	println(x)
18}
19
20type T struct {
21      _ []int
22}
23
24func main() {
25	_()	// ERROR "cannot use .* as value"
26	x := _+1	// ERROR "cannot use .* as value"
27	_ = x
28	_ = t._ // ERROR "cannot refer to blank field|invalid use of|t._ undefined"
29
30      var v1, v2 T
31      _ = v1 == v2 // ERROR "cannot be compared|non-comparable|cannot compare v1 == v2"
32}
33