...
Run Format

Source file test/fixedbugs/bug336.go

Documentation: test/fixedbugs

  // run
  
  // Copyright 2011 The Go Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style
  // license that can be found in the LICENSE file.
  
  package main
  
  type T1 struct {
  	Next *T2
  }
  
  type T2 T1
  
  type T3 struct {
  	Next *T4
  }
  
  type T4 T5
  type T5 T6
  type T6 T7
  type T7 T8
  type T8 T9
  type T9 T3
  
  type T10 struct {
  	x struct {
  		y ***struct {
  			z *struct {
  				Next *T11
  			}
  		}
  	}
  }
  
  type T11 T10
  
  type T12 struct {
  	F1 *T15
  	F2 *T13
  	F3 *T16
  }
  
  type T13 T14
  type T14 T15
  type T15 T16
  type T16 T17
  type T17 T12
  
  // issue 1672
  type T18 *[10]T19
  type T19 T18
  
  func main() {
  	_ = &T1{&T2{}}
  	_ = &T2{&T2{}}
  	_ = &T3{&T4{}}
  	_ = &T4{&T4{}}
  	_ = &T5{&T4{}}
  	_ = &T6{&T4{}}
  	_ = &T7{&T4{}}
  	_ = &T8{&T4{}}
  	_ = &T9{&T4{}}
  	_ = &T12{&T15{}, &T13{}, &T16{}}
  
  	var (
  		tn    struct{ Next *T11 }
  		tz    struct{ z *struct{ Next *T11 } }
  		tpz   *struct{ z *struct{ Next *T11 } }
  		tppz  **struct{ z *struct{ Next *T11 } }
  		tpppz ***struct{ z *struct{ Next *T11 } }
  		ty    struct {
  			y ***struct{ z *struct{ Next *T11 } }
  		}
  	)
  	tn.Next = &T11{}
  	tz.z = &tn
  	tpz = &tz
  	tppz = &tpz
  	tpppz = &tppz
  	ty.y = tpppz
  	_ = &T10{ty}
  
  	t19s := &[10]T19{}
  	_ = T18(t19s)
  }
  

View as plain text