// errorcheck -0 -l -m // Copyright 2017 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. // Issue 21709: range expression overly escapes. package p type S struct{} func (s *S) Inc() {} // ERROR "s does not escape" var N int func F1() { var s S for i := 0; i < N; i++ { fs := []func(){ // ERROR "\[\]func\(\) literal does not escape" s.Inc, // ERROR "s.Inc does not escape" } for _, f := range fs { f() } } } func F2() { var s S for i := 0; i < N; i++ { for _, f := range []func(){ // ERROR "\[\]func\(\) literal does not escape" s.Inc, // ERROR "s.Inc does not escape" } { f() } } }