https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105091
--- Comment #10 from Jiu Fu Guo <guojiufu at gcc dot gnu.org> --- Created attachment 52718 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52718&action=edit m.go sub1.go Based on Ian's code, the below code also reproduce this issue. package sub1 func TestBits(callback func(interface{})) { for _, test := range []struct { x, y, want []int }{ {[]int{}, nil, nil}, {[]int{0}, nil, nil}, } { p := test.x callback(p) } } --- > go1 sub1.go -quiet -O2 -o sub1.s