go bug336 源码

  • 2022-07-15
  • 浏览 (802)

golang bug336 代码

文件路径:/test/fixedbugs/bug336.go

// 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)
}

相关信息

go 源码目录

相关文章

go bug000 源码

go bug002 源码

go bug003 源码

go bug004 源码

go bug005 源码

go bug006 源码

go bug007 源码

go bug008 源码

go bug009 源码

go bug010 源码

0  赞