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