github.com/JimmyHuang454/JLS-go@v0.0.0-20230831150107-90d536585ba0/internal/types/testdata/fixedbugs/issue48018.go (about)

     1  // Copyright 2021 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package main
     6  
     7  type Box[A any] struct {
     8  	value A
     9  }
    10  
    11  func Nest[A /* ERROR instantiation cycle */ any](b Box[A], n int) interface{} {
    12  	if n == 0 {
    13  		return b
    14  	}
    15  	return Nest(Box[Box[A]]{b}, n-1)
    16  }
    17  
    18  func main() {
    19  	Nest(Box[int]{0}, 10)
    20  }