1 // errorcheck -0 -m 2 3 // Copyright 2013 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. 6 7 // Check go:noescape annotations. 8 9 package p 10 11 // The noescape comment only applies to the next func, 12 // which must not have a body. 13 14 //go:noescape 15 16 func F1([]byte) 17 18 func F2([]byte) 19 20 func G() { 21 var buf1 [10]byte 22 F1(buf1[:]) // ERROR "buf1 does not escape" 23 24 var buf2 [10]byte // ERROR "moved to heap: buf2" 25 F2(buf2[:]) // ERROR "buf2 escapes to heap" 26 } 27