modernc.org/gc@v1.0.1-0.20240304020402-f0dba7c97c2b/testdata/errchk/test/fixedbugs/issue8347.go (about)

     1  // run
     2  
     3  // Copyright 2014 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  package main
     8  
     9  func main() {
    10  	c := make(chan bool, 1)
    11  	ok := true
    12  	for i := 0; i < 12; i++ {
    13  		select {
    14  		case _, ok = <-c:
    15  			if i < 10 && !ok {
    16  				panic("BUG")
    17  			}
    18  		default:
    19  		}
    20  		if i < 10 && !ok {
    21  			panic("BUG")
    22  		}
    23  		if i >= 10 && ok {
    24  			close(c)
    25  		}
    26  	}
    27  }