// errorcheck // Used to emit a spurious "invalid recursive type" error. // See golang.org/issue/5581. // Copyright 2013 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. package main import "fmt" func NewBar() *Bar { return nil } func (x *Foo) Method() (int, error) { for y := range x.m { _ = y.A } return 0, nil } type Foo struct { m map[*Bar]int } type Bar struct { A *Foo B chan Blah // ERROR "undefined.*Blah" } func main() { fmt.Println("Hello, playground") }