<pre>
var c chan int
- var csend chan<- int = c
- var crecv <-chan int = c
+ var csend chan<- int = c
+ var crecv <-chan int = c
close(c) // legal
close(csend) // legal
close(crecv) // illegal
<pre>
func Bug() (i, j, k int) {
- for i = 0; i < 5; i++ {
- for j := 0; j < 5; j++ { // Redeclares j.
+ for i = 0; i < 5; i++ {
+ for j := 0; j < 5; j++ { // Redeclares j.
k += i*j
if k > 100 {
return // Rejected: j is shadowed here.
<pre>
var c chan int
- var csend chan<- int = c
- var crecv <-chan int = c
+ var csend chan<- int = c
+ var crecv <-chan int = c
close(c) // legal
close(csend) // legal
close(crecv) // illegal
<pre>
func Bug() (i, j, k int) {
- for i = 0; i < 5; i++ {
- for j := 0; j < 5; j++ { // Redeclares j.
+ for i = 0; i < 5; i++ {
+ for j := 0; j < 5; j++ { // Redeclares j.
k += i*j
if k > 100 {
return // Rejected: j is shadowed here.