1// errorcheck
2
3// Copyright 2013 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// Issue 4847: initialization cycle is not detected.
8
9package p
10
11type (
12	E int
13	S int
14)
15
16type matcher func(s *S) E
17
18func matchList(s *S) E { return matcher(matchAnyFn)(s) }
19
20var foo = matcher(matchList)
21
22var matchAny = matcher(matchList) // ERROR "initialization cycle|depends upon itself"
23
24func matchAnyFn(s *S) (err E) { return matchAny(s) }
25