| // compile | 
 |  | 
 | // Copyright 2014 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. | 
 |  | 
 | // Issues 8017 and 8058: walk modifies nodes generated | 
 | // by slicelit and causes an internal error afterwards | 
 | // when gen_as_init parses it back. | 
 |  | 
 | package main | 
 |  | 
 | func F() { | 
 | 	var ch chan int | 
 | 	select { | 
 | 	case <-ch: | 
 | 	case <-make(chan int, len([2][]int{([][]int{})[len(ch)], []int{}})): | 
 | 	} | 
 | } | 
 |  | 
 | func G() { | 
 | 	select { | 
 | 	case <-([1][]chan int{[]chan int{}})[0][0]: | 
 | 	default: | 
 | 	} | 
 | } |