// errorcheck // 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. // Issue 4847: initialization cycle is not detected. package p type ( E int S int ) type matcher func(s *S) E func matchList(s *S) E { return matcher(matchAnyFn)(s) } var foo = matcher(matchList) var matchAny = matcher(matchList) // ERROR "initialization cycle|depends upon itself" func matchAnyFn(s *S) (err E) { return matchAny(s) }