blob: 8834b4453d8a2d8dd403e8594ed800f53928a817 [file] [log] [blame]
Brent Austinba3052e2015-04-21 16:08:23 -07001// errorcheck
2
3// Used to emit a spurious "invalid recursive type" error.
4// See golang.org/issue/5581.
5
Dan Willemsen38f2dba2016-07-08 14:54:35 -07006// Copyright 2013 The Go Authors. All rights reserved.
Brent Austinba3052e2015-04-21 16:08:23 -07007// Use of this source code is governed by a BSD-style
8// license that can be found in the LICENSE file.
9
10package main
11
12import "fmt"
13
14func NewBar() *Bar { return nil }
15
16func (x *Foo) Method() (int, error) {
17 for y := range x.m {
18 _ = y.A
19 }
20 return 0, nil
21}
22
23type Foo struct {
24 m map[*Bar]int
25}
26
27type Bar struct {
28 A *Foo
29 B chan Blah // ERROR "undefined.*Blah"
30}
31
32func main() {
33 fmt.Println("Hello, playground")
34}