github.com/jd-ly/tools@v0.5.7/go/ssa/interp/testdata/static.go (about) 1 package main 2 3 // Static tests of SSA builder (via the sanity checker). 4 // Dynamic semantics are not exercised. 5 6 func init() { 7 // Regression test for issue 6806. 8 ch := make(chan int) 9 select { 10 case n, _ := <-ch: 11 _ = n 12 default: 13 // The default case disables the simplification of 14 // select to a simple receive statement. 15 } 16 17 // value,ok-form receive where TypeOf(ok) is a named boolean. 18 type mybool bool 19 var x int 20 var y mybool 21 select { 22 case x, y = <-ch: 23 default: 24 // The default case disables the simplification of 25 // select to a simple receive statement. 26 } 27 _ = x 28 _ = y 29 } 30 31 var a int 32 33 // Regression test for issue 7840 (covered by SSA sanity checker). 34 func bug7840() bool { 35 // This creates a single-predecessor block with a φ-node. 36 return false && a == 0 && a == 0 37 } 38 39 // A blocking select (sans "default:") cannot fall through. 40 // Regression test for issue 7022. 41 func bug7022() int { 42 var c1, c2 chan int 43 select { 44 case <-c1: 45 return 123 46 case <-c2: 47 return 456 48 } 49 } 50 51 // Parens should not prevent intrinsic treatment of built-ins. 52 // (Regression test for a crash.) 53 func init() { 54 _ = (new)(int) 55 _ = (make)([]int, 0) 56 } 57 58 func main() {}