// 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") | |
} |