Home | History | Annotate | Download | only in fixedbugs
      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