3 // Copyright 2018 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.
7 // Ensure that range loops over maps with delete statements
8 // have the requisite side-effects.
18 m := make(map[byte]int)
25 if want := 0; l != want {
26 fmt.Printf("len after map clear = %d want %d\n", l, want)
30 m[0] = 0 // To have non empty map and avoid internal map code fast paths.
35 if want := 1; n != want {
36 fmt.Printf("number of keys found = %d want %d\n", n, want)
41 func checkloopvars() {
43 m := make(map[int]int)
48 if want := 42; k != want {
49 fmt.Printf("var after range with side-effect = %d want %d\n", k, want)
54 func checksideeffects() {
60 m := make(map[int]int)
66 if want := 2; x != want {
67 fmt.Printf("var after range with side-effect = %d want %d\n", x, want)
79 if want := 2; n != want {
80 fmt.Printf("counter for range with side-effect = %d want %d\n", n, want)