github.com/xushiwei/go@v0.0.0-20130601165731-2b9d83f45bc9/test/fixedbugs/bug417.go (about)

     1  // compile
     2  
     3  // Copyright 2009 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  // Some indirect uses of types crashed gccgo, because it assumed that
     8  // the size of the type was known before it had been computed.
     9  
    10  package p
    11  
    12  type S1 struct {
    13  	p *[1]S3
    14  	s [][1]S3
    15  	m map[int][1]S3
    16  	c chan [1]S3
    17  	i interface { f([1]S3) [1]S3 }
    18  	f func([1]S3) [1]S3
    19  }
    20  
    21  type S2 struct {
    22  	p *struct { F S3 }
    23  	s []struct { F S3 }
    24  	m map[int]struct { F S3 }
    25  	c chan struct { F S3 }
    26  	i interface { f(struct { F S3 }) struct { F S3 } }
    27  	f func(struct { F S3 } ) struct { F S3 }
    28  }
    29  
    30  type S3 struct {
    31  	I int
    32  }