Home | History | Annotate | Download | only in fixedbugs
      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 loop is not detected.
      8 
      9 package p
     10 
     11 type (
     12 	E int
     13 	S int
     14 )
     15 
     16 type matcher func(s *S) E
     17 
     18 func matchList(s *S) E { return matcher(matchAnyFn)(s) }
     19 
     20 var foo = matcher(matchList)
     21 
     22 var matchAny = matcher(matchList) // ERROR "initialization loop|depends upon itself"
     23 
     24 func matchAnyFn(s *S) (err E) { return matchAny(s) }
     25