// compile // Copyright 2018 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. // Triggers a bug in writebarrier, which inserts one // between (first block) OpAddr x and (second block) a VarDef x, // which are then in the wrong order and unable to be // properly scheduled. package q var S interface{} func F(n int) { fun := func(x int) int { S = 1 return n } i := fun(([]int{})[n]) var fc [2]chan int S = (([1][2]chan int{fc})[i][i]) }